Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

SelectOneMenu não trás a descrição do objeto na edição

Estou realizando um cadastro que possui um relacionamento com outro, estou usando o SelecOneMenu para traze-lo, ao realizar um novo funciona tudo corretamente, porém na edição ele não está trazendo o objeto da outra classe, e quando eu acabo de salvar um cadastro e tento editar ele trás o objeto, mas é só atualizar a página que não trás mais, os outros campos de texto, trás normalmente.

 <p:selectOneMenu filter="true" value="#{interfaceBean.idSistema}">
                                            <f:selectItem itemValue="" itemLabel="Selecione um Sistema"/>
                                            <f:selectItems value="#{interfaceBean.listarSistema()}" var="sistema"
                                                           itemValue="#{sistema.id}" itemLabel="#{sistema.descricao}"/>
                                        </p:selectOneMenu>
public void atualizarInterface() {

        try {

            Sistema sistema = new Sistema();
            SistemaDao sistemaDao = new SistemaDao();
            sistema = sistemaDao.buscaPorId(idSistema);

            InterfaceDao interfaceDao = new InterfaceDao();
            interfaceSistema.setSistema(sistema);
            interfaceDao.atualizar(interfaceSistema);

            String msg = "Interface " + interfaceSistema.getDescricao() + " Alterada com sucesso";

            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg);
            FacesContext context = FacesContext.getCurrentInstance();
            context.addMessage(null, message);

        } catch (RuntimeException e) {
            throw new RuntimeException("Erro ao atualizar a interface no Bean");
        } finally {
            listarInterface();
        }
    }
 public void selecionarInterface(ActionEvent evento) {

        interfaceSistema = (Interface) evento.getComponent().getAttributes().get("interfaceSelecionado");
    }
2 respostas
solução!

Oi João, tudo bem ?

Cara precisa ver onde você está preenchendo esse atributo, porque na tela deve estar aparecendo, pois parece que você faz busca mas o objeto interfaceSistema, pode não ter sido alterado.

Obrigado pela atenção, no momento de selecionar os atributos do meu objeto para edição não estava atribuindo o id do objeto da combox a variável idSistema.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software