Entao eu implementei dessa forma mas tb nao funcionou, segue o meu template…
[code]<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE html>
<html xmlns=“http://www.w3.org/1999/xhtml”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:p=“http://primefaces.prime.com.tr/ui”>
<h:head>
<ui:insert name="titulo">
<title>#{msg['aplicacao.titulo']}</title>
</ui:insert>
<ui:insert name="cabecalho">
<link href="${facesContext.externalContext.requestContextPath}/style/jquery-ui-1.8.16.custom.css" type="text/css" rel="stylesheet" />
<link href="${facesContext.externalContext.requestContextPath}/style/listaNFe.css" type="text/css" rel="stylesheet" />
<link href="${facesContext.externalContext.requestContextPath}/style/listaEmpresa.css" type="text/css" rel="stylesheet" />
<link href="${facesContext.externalContext.requestContextPath}/style/default.css" type="text/css" rel="stylesheet" />
<ui:insert name="javascript" />
<ui:insert name="css" />
</ui:insert>
</h:head>
<h:body>
<p:growl id="growlMessage" showDetail="true" />
<ui:insert name="body">
<h:form prependId="false">
<p:layout fullPage="true">
<p:layoutUnit position="top" height="52">
<p:panel id="pnlTopo" styleClass="topo">
<ui:insert name="login">
<ui:include src="usuarioLogado.xhtml"/>
</ui:insert>
</p:panel>
</p:layoutUnit>
<p:layoutUnit position="center" closable="false">
<ui:insert name="menu"/>
<br/>
<p:outputPanel id="pnlCorpo">
<ui:insert name="corpo">
<ui:include src="#{menuController.menuSelected}"/>
</ui:insert>
</p:outputPanel>
</p:layoutUnit>
<p:layoutUnit position="bottom" height="75">
<ui:include src="rodape.xhtml"/>
</p:layoutUnit>
</p:layout>
</h:form>
<ui:include src="dialogAlterarSenha.xhtml" />
<p:outputPanel id="pnlDialog" rendered="#{menuController.hasDialog}">
<ui:insert name="dialog">
<ui:include src="#{menuController.dialogSelected}"/>
</ui:insert>
</p:outputPanel>
</ui:insert>
</h:body>
</html>
[/code]
MenuController
[code]@ManagedBean(name="menuController")
@SessionScoped
//@Component("menuController")
//@Scope("session")
public class MenuController implements Serializable {
private String menuSelected;
private String dialogSelected;
private boolean hasDialog;
@PostConstruct
public void init() {
menuSelected = "../pages/nfe/listaNFe.xhtml";
dialogSelected = "../pages/nfe/dialogNFe.xhtml";
hasDialog = true;
}
@PreDestroy
public void destroy() {
}
public void menuNFe(ActionEvent event) {
menuSelected = "../pages/nfe/listaNFe.xhtml";
hasDialog = true;
dialogSelected = "../pages/nfe/dialogNFe.xhtml";
}
public void menuEmpresa(ActionEvent event) {
menuSelected = "../pages/empresa/listaEmpresa.xhtml";
hasDialog = true;
dialogSelected = "../pages/empresa/dialogEmpresa.xhtml";
}
public void menuUsuario(ActionEvent event) {
menuSelected = "../pages/usuario/listaUsuario.xhtml";
hasDialog = true;
dialogSelected = "../pages/usuario/dlgUsuario.xhtml";
}
public boolean getHasDialog() {
return hasDialog;
}
public void setHasDialog(boolean hasDialog) {
this.hasDialog = hasDialog;
}
public String getMenuSelected() {
return menuSelected;
}
public String getDialogSelected() {
return dialogSelected;
}
}[/code]
menu.xhtml
[code]<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE html>
<html xmlns=“http://www.w3.org/1999/xhtml”
xmlns:p=“http://primefaces.prime.com.tr/ui”
xmlns:sec=“http://www.springframework.org/security/facelets/tags”
xmlns:h=“http://java.sun.com/jsf/html”>
<p:menubar autoSubmenuDisplay="true">
<p:submenu label="Cadastro" icon="ui-icon ui-icon-pencil">
<p:menuitem value="Empresa" actionListener="#{menuController.menuEmpresa}"
update="pnlCorpo pnlDialog" icon="ui-icon ui-icon-triangle-1-e"/>
<!--<p:menuitem value="Usuário" action="/pages/usuario/corpoUsuario?faces-redirect=true"
ajax="single" icon="ui-icon ui-icon-triangle-1-e"/> -->
<p:menuitem value="Usuário" actionListener="#{menuController.menuUsuario}"
update="pnlCorpo pnlDialog" icon="ui-icon ui-icon-triangle-1-e"/>
</p:submenu>
<p:menuitem value="NFe" actionListener="#{menuController.menuNFe}"
update="pnlCorpo pnlDialog" icon="ui-icon ui-icon-document"/>
<p:submenu label="Configurações" icon="ui-icon ui-icon-gear">
</p:submenu>
<p:submenu label="Ajuda" icon="ui-icon ui-icon-help">
</p:submenu>
<p:menuitem value="Sair" action="#{loginController.logout}" icon="ui-icon ui-icon-close" />
</p:menubar>
</html>
[/code]
UsuarioController
[code]@ManagedBean(name=“usuarioController”)
@ViewScoped
//@Component(“usuarioController”)
//@Scope(“session”)
public class UsuarioController implements Serializable {
// <editor-fold defaultstate="collapsed" desc="Atributos">
@ManagedProperty(name="usuarioService", value="#{usuarioService}")
private UsuarioService usuarioService;
private List<Usuario> usuarioList;
private List<Role> roleList;
private Usuario selectedUsuario;
//</editor-fold>
// @Autowired
// public UsuarioController(UsuarioService usuarioService) {
// this.usuarioService = usuarioService;
// }
@PostConstruct
public void init() {
setUsuarioList(usuarioService.getByAtivo(true));
}
@PreDestroy
public void destroy() {
}
// <editor-fold defaultstate="collapsed" desc="GET / SET">
public List<Role> getRoleList() {
return roleList;
}
public void setRoleList(List<Role> roleList) {
this.roleList = roleList;
}
public Usuario getSelectedUsuario() {
return selectedUsuario;
}
public void setSelectedUsuario(Usuario selectedUsuario) {
this.selectedUsuario = selectedUsuario;
}
public List<Usuario> getUsuarioList() {
return usuarioList;
}
public void setUsuarioList(List<Usuario> usuarioList) {
this.usuarioList = usuarioList;
}
public void setUsuarioService(UsuarioService usuarioService) {
this.usuarioService = usuarioService;
}
//</editor-fold>
}[/code]
Acontece o seguinte quando inicio a aplicação carrega uma tabela, clico para visualizar um item da tabela e me mostra um dialog com os dados tudo ok, mas depois que faço isso navego no menu para o usuario por exxemplo, ele popula a tabela tudo certo mas quando clico em editar um registro da tabela me abre o dialog sem nenhum dado como se nao disparace o metodo setSelectedUsuario