Saúde e vida a todos!
Entrei num projeto em JSF 2 e ainda não tenho muita expertise com a tecnologia e logo te cara uma dúvida que para muitos deve ser bastante simples mas pra mim que estou iniciando nesta tecnologia ta meio complicado entender… Seguinte:
<h:selectOneMenu id="combo_status" value="#{meuBackBean.valorSelecionado}" converter="EntityConverter">
<f:ajax event="change" listener="#{meuBackBean.adicionar}"/>
<f:selectItems value="#{meuBackBean.lista}" var="item" itemValue="${item}" itemLabel="#{item.descricao}" /> </h:selectOneMenu>
<h:commandButton value="Incluir" action="#{meuBackBean.incluir}" id="btnIncluir" />
O metodo adicionar é chamado e ele adiciona o valorSelecionado a uma Set do entity bean. O entity bean está declarado assim no meuBackBean:
@Inject
private EntityBeanX entityBean ;
//getters e setters
Acontece que ao clique no botão incluir o objeto entityBean já não é mais o mesmo, logo, o valorSelecionado que havia sido adicionado na Set foi pro saco!
O back bean está anotado com @ConversationScoped mas a variavel de instancia entityBean está sendo criada em toda requisição feita…Por que?
é… posso resolver removendo a tag <f:ajax> do combo e chamar o metodo adicionar do back bean no metodo incliur… mas gostaria de saber como evitar que o objeto entityBean seja criado novamente ao clicar no botao incluir.
Esse é meu primeiro tópico no GUJ desculpe se fui prolixo…
Valeu, boa noite acho q vou dormir!