Checkbox com struts2

5 respostas
lmprates

Boa tarde pessoal,

Esto com um probleminha em um aplicação que é o seguinte, tenho um campo do meu bean que se chama “inativo”, esta variável é do tipo boolean.
Quando vou inserir ou editar um registro desta tabela, o usuário recebe um form com um checkbox para marcar se o registro está inativo ou não.

o checkbox possui o seguinte código

<s:checkbox label="Inativo?" name="usuario.inativo" value="usuario.inativo" fieldValue="%{usuario.inativo}"/>

o problema é que na minha action (utilizando struts2) o valor de "usuario.inativo" vem sempre com false, mesmo que o usuário tenha marcado o checkbox antes de submeter o form.

código da minha action para gravar registros.

public class usuarioGrava {
	private Usuario usuario;
	public String execute(){
		UsuarioDao dao = new UsuarioDao();
		if (getUsuario().getId()&gt0){
			dao.update(getUsuario());
		}else{		
			dao.save(getUsuario());
		}
		return "success";
	}
	
	/*
	 * getters and setters 
	 */
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
}

alguma sugestão?

5 Respostas

lmprates

nenhuma dica pessoal?!

alexandremlima

O atributo fieldValue é para você informar o valor real do componente HTML (o default é true, mas ele aceita outros tipos também).
O atributo value é para você pré-setar o componente, de acordo com o valor real dele.
Se ambos (fieldValue e value) estiverem iguais, o Struts 2 vai “checar” o componente para você.

Para fazer o que você quer, tente:

<s:checkbox label="Inativo?" name="usuario.inativo"  fieldValue="true" value="%{usuario.inativo}"/>
lmprates

funcionou.

obrigado alexandre.

rikg12

Galera…

como setar o defaultChecked da caixa de marcacao???

igoorgalvao

Achei uma forma de pegar o id de um checkBox dentro de um iterator.

segue o código:

Classe JSP:
<s:iterator value="lista">
             <s:checkbox name="checkBoxSelecionados" id="lista.id" fieldValue="%{id}"/>
</s:iterator>

Class Java:

public class ClasseLista{
	private Integer[]	checkBoxSelecionados;

}

Qualquer duvida me manda mensagem que eu ajudo!

Criado 3 de julho de 2007
Ultima resposta 14 de mai. de 2010
Respostas 5
Participantes 4