jsf 2 - after changing (navigating) to other jsf view I can no longer access managed beans methods -
i have 2 views: funcionario-pesquisa.xhtml , funcionario-edicao.xhtml... both utilize template:
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui"> <h:head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>maven</title> </h:head> <h:body> ... <div class="body"> <ui:insert name="body" /> </div> </h:body> </html> in funcionario-pesquisa.xhtml have list primefaces commandbutton (set "funcionario" , redirects funcionario-edicao.xhtml) within h:form:
<ui:define name="body"> <h:form id="formfuncionariopesquisa"> ... <p:datatable id="funcionariolistaid" var="funcionarioregistro" value="#{funcionariocontrolador.funcionariolista}"> <f:facet name="header"> funcionários </f:facet> <p:column headertext="ação" width="10%" style="text-align:center"> <p:commandbutton icon="ui-icon-pencil" action="funcionario-edicao"> <f:setpropertyactionlistener target="#{funcionariocontrolador.funcionarioeditar}" value="#{funcionarioregistro}" /> </p:commandbutton> </p:column> </p:datatable> </h:form> </ui:define> in controller (funcionariocontrolador) have:
@managedbean @requestscoped public class funcionariocontrolador { private list<funcionario> funcionariolista; private funcionario funcionarioeditar; @managedproperty("#{funcionariodao}") private funcionariodao funcionariodao; public void pesquisarfuncionario() { funcionariolista = funcionariodao.pesquisarfuncionariospornomematriculasituacao(...); } @postconstruct public void init() { pesquisarfuncionario(); } public void persistirfuncionario() { funcionariodao.persistirfuncionario(funcionarioeditar); } public list<funcionario> getfuncionariolista() { homecoming funcionariolista; } public void setfuncionariodao(funcionariodao funcionariodao) { this.funcionariodao = funcionariodao; } public funcionario getfuncionarioeditar() { homecoming funcionarioeditar; } public void setfuncionarioeditar(funcionario funcionarioeditar) { this.funcionarioeditar = funcionarioeditar; } } ok... when press commandbutton in funcionario-pesquisa.xhtml i'm going funcionario-edicao.xhtml showing me attributes of it... funcionario-edicao.xhtml has primefaces commandbutton within h:form:
<ui:define name="body"> <h:form id="formfuncionarioedicao"> <p:panel header="edição de funcionários"> <p:panelgrid columns="2"> <p:outputlabel value="nome" /> <p:inputtext value="#{funcionariocontrolador.funcionarioeditar.nomefuncionario}"/> <p:outputlabel value="matrícula" /> <p:inputtext value = "#{funcionariocontrolador.funcionarioeditar.matriculafuncionario}"/> </p:panelgrid> <p:spacer width="0" height="50" /> <p:commandbutton value="salvar" actionlistener="#{funcionariocontrolador.persistirfuncionario}"/> </p:panel> </h:form> </ui:define> but when i'm @ funcionario-edicao.xhtml (the address bar remains funcionario-pesquisa.xthml , page correctly rendered... normal), button not working....
if go direct funcionario-edicao.xhtml (with menu, example), page rendered , button works....
i need help has experienced similar behavior or knows what's going on...
thanks !
jsf-2 primefaces
No comments:
Post a Comment