Fala galera, blz?
Meu problema ta sendo o seguinte, eu tenho uma lista de multibox que vem do banco
<c:when test="${convenio.globalAsPrimitive}">
<html:multibox name="EscolherConvenios" property="selectedConvenios">
<bean:write name="convenio" property="id"/>
</html:multibox>
</c:when>
Tenho uma action que marca todas as multibox, uma que desmarca todas as multibox e uma que grava no banco.
Por enquanto eu só tenho duas multibox, quando eu marco uma e desmarco outra, eu consigo gravar normalmente, quando eu marco as duas com o click eu tambem consigo gravar normalmente, o problema é quando eu desmarco as duas manualmente elas vem para a action
public ActionForward processa(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, Session hibernateSession) {
EscolherConveniosForm mForm = (EscolherConveniosForm) form;
Usuario usuario = (Usuario) request.getSession().getAttribute(AbstractSecureAction.HTTPSESSION_USUARIO_LOGADO);
usuario = (Usuario) hibernateSession.load(Usuario.class, usuario.getId());
Set<Convenio> convenios = new HashSet();
String[] x = mForm.getSelectedConvenios();
System.out.println(x);
if (x == null) {
} else {
for (String s : mForm.getSelectedConvenios()) {
mForm.reset();
Convenio c = (Convenio) hibernateSession.load(Convenio.class, Integer.valueOf(s));
System.out.println(s);
System.out.println(c.getNome());
convenios.add(c);
}
hibernateSession.save(usuario.getCliente());
}
for (Convenio c : mForm.getConvenios()) {
if (c.getGlobalAsPrimitive() == Boolean.FALSE) {
convenios.add(c);
}
}
usuario.getCliente().getConvenios().clear();
usuario.getCliente().setConvenios(convenios);
hibernateSession.flush();
return mapping.findForward(SUCESSO);
}
como se estivessem preenchidas. Ja li sobre o reset e tal, mas nao tenho ainda ideia de como fazer pra saber se as duas estao marcadas ou nao