[RESOLVIDO] Menus dinâmicos com JSF2.0 + Primefaces

4 respostas
diogozero

Olá amigos,

Estou com uma dúvida quanto a melhor abordagem para se criar um menu dinâmico.
Tenho 2 opções:

1 - Fazer todos os "tipos" de menu usando JSTL direto na página, fazendo uma coisa do tipo:
<c:when test="#{usuarioBean.flagLogin!=true}">
        <h:form>
            <p:menu>
                <p:submenu label="Submenu">
                    <p:menuitem value="Link 1" url="#"/>
                </p:submenu>
            </p:menu>
        </h:form>
</c:when>
<c:otherwise>
2 - Fazer o modelo em um objeto Java, algo do tipo:
public static MenuModel getVisitorModel() {
        MenuModel model = new DefaultMenuModel();
        
        // Primeiro Submenu
        Submenu submenu = new Submenu();
        submenu.setLabel("Bem-vindo ao Loocaliza");
        
        item = new MenuItem();
        item.setValue("Quero me cadastrar");
        item.setUrl("/cadastro.jsf");
        submenu.getChildren().add(item);
E usando na página algo assim:
<p:menu model="#{menuBean.model}" />
Qual seria a melhor abordagem? Acho a primeira abordagem meio "feia" porém deixa mais livre pra se mexer com HTML. Na opinião de vocês, qual seria a melhor opção?

4 Respostas

jrfercar

Eu, em meus projetos gosto de mais liberdade para realizar modificações em tempo de execução, por isso prefiro a 2º alternativa.

Além de forçar um único padrão para a exibição do menu, com o mínimo de esforço, durante o desenvolvimento e durante a manutenção.

&lt;p:menu model="#{menuBean.model}" /&gt;
I

tb acho a segunda alternativa melhor.

L

Galera tenho uma duvida, quero utilizar o menu do primefaces também, mas quando o usuário for navegando no meu, ele salve o “caminho” realizado no menu.

Algo do tipo : opções > cadastro > cadastro usuário

Isso se ele tivesse navegado no menu até cadastro de usuário.

Acho que é isso.

C

leopose:
Galera tenho uma duvida, quero utilizar o menu do primefaces também, mas quando o usuário for navegando no meu, ele salve o “caminho” realizado no menu.

Algo do tipo : opções > cadastro > cadastro usuário

Isso se ele tivesse navegado no menu até cadastro de usuário.

Acho que é isso.


Até onde sei, não tem nada no PrimeFaces que faça isso, mas é só você montar o caminho, já que para acessar a página X, você sabe por onde o usuário terá que passar…

Criado 15 de setembro de 2011
Ultima resposta 19 de set. de 2011
Respostas 4
Participantes 5