Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

SelectManyCheckBox não salva os dados

Olá, estou com um problema ao utilizar o componente ele simplesmente não salva, não aparece nenhum erro no console. Segue as classes. OBS: eu salvo um usuário primeiro, depois eu tenho uma opção para inclui-lo em um grupo.

<p:selectManyCheckbox id="grupos" styleClass="many-checkbox" 
                                                  value="#{usuarioBean.usuario.grupos}" converter="grupoConverter">
                                <f:selectItems value="#{usuarioBean.grupos}" var="grupo"
                                               itemLabel="#{grupo.descricao}" itemValue="#{grupo}"/>
                            </p:selectManyCheckbox>
public void incluirGrupo() throws ClasseExcecaoGeral {

        try {
            UsuarioDao usuarioDao = new UsuarioDao();
            usuarioDao.atualizar(usuario);
            String msg = "Usuaŕio " + usuario.getNome() + " Inserido no grupo com sucesso!";
            ClasseMensagemGeral.gerarMensagemInfo(msg, msg);
        } catch (RuntimeException e) {
            throw new ClasseExcecaoGeral("UsuarioBean - Erro ao incluir um grupo para Usuário");
        }
    }
@FacesConverter(value = "grupoConverter", forClass = Grupo.class)
public class GrupoConverter implements Converter{

    private GrupoDao grupoDao;

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {

        Grupo retorno = null;

        if(value != null){
            try {
                retorno = this.grupoDao.buscaPorId(new Integer(value));
            } catch (ClasseExcecaoGeral ex) {
                Logger.getLogger(GrupoConverter.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return retorno;
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {

        if(value != null){
            Integer id = ((Grupo) value).getId();
            return id == null ? null : id.toString();
        }
        return "";
    }

}
1 resposta
solução

Oi João, de boa ?

Cara dei uma olhada na documentação do primefaces e cara eles não usam o conversor para fazer isso. Será que não está ferrando nessa parte ?