Menu com ajax Primefaces 3

2 respostas
furacao123

Estou tentando fazer um menu em ajax com primefaces mas nao esta funcionando como esperado, pro exemplo montei um layout onde o painel do centro de acordo com a escolha do menu fique dando update no painel alterando os componentes de dentro desse painel, fiz um action listener no menu que ao clicar ele carrega um arquivo xhtml e da update no painel fazendo com que seja incluido um novo componente nesse painel, mas nao funciona, se eu recarrego a pagina ae sim ele redireciona para o componente correto.

<p:outputPanel id="pnlCorpo"> <ui:insert name="corpo"> <ui:include src="#{menuController.menuSelected}"/> </ui:insert> </p:outputPanel>

no meu menu

<p:menuitem value="Empresa" icon="ui-icon ui-icon-triangle-1-e" actionListener="#{menuController.menuEmpresa}" update="pnlCorpo"/>

mas é como se este update nao fosse disparado, o actionlistener é chamado, seta o valor para o atributo menuSelected mas nao recarrega a pagina com o caminho novo, agora se eu dou um F5 ae ele recarrega tudo com a pagina correta, o que estou fazendo errado?

2 Respostas

furacao123

Fiz da seguinte maneira

<p:menuitem value="Empresa" icon="ui-icon ui-icon-triangle-1-e" actionListener="#{menuController.menuEmpresa}" immediate="true" process="@this" ajax="false" update="pnlCorpo"/>

com o ajax false ou single ele funcionou, recarregou a pagina, quero entender quais sao os atributos disponiveis para o ajax, e o que o single faz?

Hebert_Coelho

Toda chamada do primefaces é ajax. por isso você teve que colocar ajax=false para que a navegação ocorresse.

Ajax não redireciona páginas, apenas altera status dos componentes.

Para se redirecionar através de uma chamada ajax, você teria que forçar no MB.

Por isso que ao colocar ajax=false, você está fazendo uma navegação normal.

Criado 16 de janeiro de 2012
Ultima resposta 16 de jan. de 2012
Respostas 2
Participantes 2