Pessoal gostaria de criar um sistema usando o primefaces porem gostaria de fazer no estilo MDI, tipo tenho uma area central onde todas as outras janelas abrem dentro dessa area central, gostaria de saber se isso é possivel usando o primefaces e qual componente posso usar para esse fim?
Primefaces+formulario MDI
6 Respostas
Ninguem?
Pode utilizar o componente Layout do primefaces.
Sempre que quiser atualizar o conteúdo central basta fazer um update no mesmo.
Como seria a chamada de uma página dentro do layout?
<p:layout fullPage="true" style="margin-top: 100px; padding-top: 100px">
<p:layoutUnit position="north" size="100" resizable="false" closable="false" collapsible="false">
<ui:insert name="topo"/>
</p:layoutUnit>
<p:layoutUnit position="center" resizable="false" closable="false" collapsible="false">
<div class="layoutDefault-center">
<ui:include id="layoutDefault-conteudo" src="#{menuController.currentPage}"/>
</div>
</p:layoutUnit>
</p:layout>
Repare na linha 8 onde o caminho para o include faz referencia com um bean.
Posso ter vários links ou um menu que chame um método alterando o valor da propriedade currentPage do meu controller menuController.
E logo após alterar o valor dou um update no meu formulário ou apenas no meu include.
Com esse exemplo que você deu consigo criar meu sistema em formato MDI? Essa forma seria a melhor abrir as páginas dentro de um layout? ou teria uma forma melhor de faze-la? e pra finalizar pelo que entendi se quiser abrir uma nova página basta alterar a linha 8 onde na tag src passo a página que desejo abrir por exemplo: <ui:include id="layoutDefault-conteudo" src="cadastroPessoas.xhtml"/>
seria isso mesmo?
Acredito que esta é a melhor forma.
Mas procure mais no google pode ser que encontre algo mais intressante.
Sim no src você passa a pagina que ele deve abrir, mas faz referência com seu managedBean e altera o valor de uma propriedade como no exemplo que te passei.
[]'s