Senhores,
outra vez estou tendo problemas com o “danado” do checkbox.
Tenho três na página:
ckeck A …ckeck B …check C
Vamos supor que eu selecione o A e o B e mando atualizar. Até aí blz!
Aí Eu desmarco o B e mandou atualizar. Ai está o problema. Ao invés de estar null o check B continua setado. O escopo da minha action no struts-config é session.
Alguém saberia me dizer como eu faço para resolver este problema sem mudar o escopo da minha action para request?
Pessoal, já estou com esse problema a mais de uma semana, se q já passou por isso puder colaborar comigo fico agradecido!
Desde já obrigado!
Da uma olhada aqui: http://struts.apache.org/struts-action/userGuide/building_controller.html#4_3_ActionForm_Classes
Resumindo:
Acho que é só vc implementar esse método reset e setar para null (ou false),
os campos do seu form que referem-se ao checkbox.
Acho que a explicação é a seguinte: Como o form está na sessão, no primeiro request ele instancia o form e seta o valor do checkbox. Na segunda requisição, ele pega o form da sessao e não chama o setter novamente pq checkboxes que não são estão setados não são submetidos.
Para forms com escopo de request, o comportamento é diferente, pq a cada request ele instancia um novo form e como geralmente o valor default dos checkboxes é false, ele só chama o setter qdo o checkbox é submetido efetivamente.
Qdo vc implementa o reset ele chama o reset toda vez que for setar o form novamente, portanto no seu reset coloque false em todos os seus
checkboxes.
Enrolei, mas acho q é isso 
[]'s