Selectone x Dialog JSF JAVA conflito, perdendo referencia ao alterar
8 respostas
N
nobemasa
Galera, tenho um Selectone em um Dialog, uso esse Dialog para incluir, consultar e alterar.
consigo incluir, mas não consigo alterar nem consultar, pois não atualiza o selectone, outros campos como p:calendar, p:inputTextarea estão trazendo os dados, deve ser algum conflito em relação ao Selectone, pois ao debugar, percebi que o valor do atributo está correto até certo momento, no último set get que o sistema faz ele zera o valor desse atributo que deveria aparecer no selectone, alguém sabe o porquê desse problema?
Em primeiro lugar, depois posta o seu bean tambem aqui para ficar mais claro. Mas em princípio, eu acredito que você quer trazer uma List para dentro do selectOneMenu e quando o usuario selecionar um item , esse “um” irá setar seu atributo no Bean. Não é isso ?
O itemLabel é o que aparece na combo , já o itemValue é o que vai setar o atributoRecebedor setado no campo “value”.
O que eu senti falta no seu dialog foi o formulario "<h:form> em volta do seu código.
Espero ter ajudado,
Um abraço,
Gustavo
N
nobemasa
meu BEAN onde altero
// Altera tarefa
publicvoidalteraTarefa(Tarefatar){tarefa=newTarefa();setHabilitaTarefa(true);try{statuses=newDAO<Status>(Status.class,JSFUtil.getPersistenceSession(),null).list();}catch(Exceptione){// TODO Auto-generated catch blocke.printStackTrace();}tarefa=tar;setCodigoTarefaStatus(this.tarefa.getStatus().getCodigo());getModelo().setPorcentual(calcPorcentagem());codigoStatusTarefa=tar.getStatus().getCodigo();codigoOrdemTarefa=tar.getOrdem();}
...publicclassatendimentoBeanimplementsSerializable{privateStringcodigoOrdemTarefa;publicvoidalteraTarefa(Tarefatar){...objeto.setCodigoOrdemTarefa(this.codigoOrdemTarefa);....}//getters e setters
Também não esquece que NESSE CASO, o valor do atributo só vai ser setado no bean, quando você clicar no commandButton que tem que estar dentro do form também para submeter os dados.
...publicclassatendimentoBeanimplementsSerializable{privateStringcodigoOrdemTarefa;publicvoidalteraTarefa(Tarefatar){...objeto.setCodigoOrdemTarefa(this.codigoOrdemTarefa);....}//getters e setters
Também não esquece que NESSE CASO, o valor do atributo só vai ser setado no bean, quando você clicar no commandButton que tem que estar dentro do form também para submeter os dados.
...publicclassatendimentoBeanimplementsSerializable{privateStringcodigoOrdemTarefa;publicvoidalteraTarefa(Tarefatar){...objeto.setCodigoOrdemTarefa(this.codigoOrdemTarefa);....}//getters e setters
Também não esquece que NESSE CASO, o valor do atributo só vai ser setado no bean, quando você clicar no commandButton que tem que estar dentro do form também para submeter os dados.
Um abraço !
N
nobemasa
No caso meu form fica na Template Gustavo, não deu certo…