jueves, 15 de septiembre de 2016

Obteniendo el valor de un checkbox en Struts

El checkbox es un control que tiene un comportamiento un poco especial. Cuando el checkbox está activado la propiedad asociada es modificada a true, pero cuando se desactiva el checkbox no se realiza ninguna acción.
Así que para funcione correctamente la propiedad del checkbox debe estar inicializada a false. Pero hay otro problema, si solo lo inicializarmos en el constructor del ActionForm no se actualizará en sucesivos cambios del checkbox, por ello debemos inicializar el valor en la función reset.

Código del ActionForm:

public class EncuestadoVOForm extends ActionForm{

private boolean activado; //propiedad asociada al checkbox

//constructor
public EncuestadoVOForm() {


activado = false; //inicializamos en el constructor
 

}


public void reset(ActionMapping mapping,
HttpServletRequest request) {

activado = false; //inicializamos en el reset


}


Como podéis deducir el constructor ya no es necesario una vez añades la función reset por lo que se podría quitar y el ActionForm funcionaría bien.

Sino lo realizamos así la propiedad "activado" siempre devuelve true sea cual sea el estado del checkbox.
Publicar un comentario