Olá amigos,
Estou usando menu do primefaces e desde então me surgiu uma dúvida e algumas dores de cabeça.
Qual é a maneira mais adequada de se utilizar navegação através de menu em JSF, pela action ou pela URL?
A minha estrutura é a seguinte:
/WEB-INF
/template/template-cadastro.xhtml
/pages/…
O menu fica no meu template e está da seguinte maneira:
<p:menubar id="menubar">
<p:submenu label="Configuração">
<p:menuitem value="Usuários" url="pages/usuario.xhtml" />
<p:menuitem value="Grupo de Pessoa" url="pages/grupo-pessoa.xhtml" />
</p:submenu>
</p:menubar>
Eu não sei como a url deve ser informada no atributo do p:menuitem, algumas vezes o navegador exibe o endereço do menu como:
localhost:8080/Trinus/faces/pages/usuario.xhtml (que é o correto)
localhost:8080/Trinus/faces/pages/pages/usuario.xhtml (as vezes duplica o diretório “pages”)
localhost:8080/Trinus/pages/pages/usuario.xhtml (as vezes some com o “/faces/” da URL)
Usar action seria inviável pelo fato do menu ficar no template? De qualquer página eu posso ir para qualquer outra.
Eu teria que ter diversas navigation-rule.
Sinceramente, não sei qual a solução ideal para navegação em uma aplicação JSF.