Menu Principal

Agora que já temos a estrutura básica do nosso projeto, podemos iniciar a customização do menu principal e a criação das páginas que irão preencher e atualizar o content.

Primerio criaremos três novas páginas, alunos.xhtml, disciplinas.xhtml e matriculas.xhtml.

Essas páginas irão preencher o conteúdo do facelet Content de acordo com a opção selecionada no menu.

Portanto, elas precisam ser Clientes do Modelo de Facelets que foi definido anteriormente.

Depois de criar essas três páginas, iremos utilizara outro elemento do PrimeFaces, o menu.

Lembre que para toda página que contiver elementos do PrimeFaces é preciso declarar sua utilização no cabeçalho.

Observe que dentro da tag menu temos um submenu e é nele que estarão os itens do menu para a navegação entre facelets.

Quem controla a transição entre facelets é o do atributo outcome dentro do elemento menuitem. O atributo icon também pode ser customizado. (exemplos de icons: https://api.jqueryui.com/theming/icons/)

<?xml version='1.0' encoding='UTF-8' ?>
<!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://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core">

    <body>
        <h:form>            
            <br/>
            <p:menu>
                <p:submenu label="Menu" >
                    <p:menuitem id="bt1" value=" Alunos" outcome="alunos.xhtml" icon="ui-icon-script" ajax="false"/>
                    <p:menuitem id="bt2" value=" Disciplinas" outcome="disciplinas.xhtml"  icon="ui-icon-script" ajax="false"/>
                    <p:menuitem id="bt3" value=" Matrículas" outcome="matriculas.xhtml"  icon="ui-icon-script" ajax="false"/>
                </p:submenu>
            </p:menu>
        </h:form>

    </body>
</html>

Ao executar seu projeto, ele deverá estar como mostra a figura abaixo:

results matching ""

    No results matching ""