Bom dia, sei que este topico ja fora mencionado outras vezes, só que mediante a dias de pesquisas nao consegui resolver meu problema, estou criando um menu dinamico com richface, ate aqui tudo bem meu menu funciona do modo que planejei, so que quando eu seleciono um item do mesmo ele nao abre meu formulario dinamico no panel central como deveria, preciso de uma ajudinha, irei postar abaixo meu menaged bean e meu jsp se puderem ajudar ficarei grato…
managed Bean
private List<HtmlPanelMenuItem> listMenu;
@SuppressWarnings("deprecation")
public HtmlPanelMenu menuGroup() throws ClassNotFoundException,
SQLException {
frmCarro carro = new frmCarro();
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
Menu dadosBean = new Menu();
HtmlPanelMenu menuPanel = new HtmlPanelMenu();
HtmlPanelMenuGroup PControle = new HtmlPanelMenuGroup(); // Administrador
HtmlPanelMenuGroup cadastro = new HtmlPanelMenuGroup(); // Revendedor
HtmlPanelMenuGroup rastrear = new HtmlPanelMenuGroup(); // Cliente
HtmlPanelMenuGroup consulta = new HtmlPanelMenuGroup(); // Cliente
HtmlPanelMenuGroup fechar = new HtmlPanelMenuGroup();// Cliente
menuPanel.setIconExpandedGroup("disc");
menuPanel.setIconCollapsedGroup("disc");
menuPanel.setIconExpandedTopGroup("chevronUp");
menuPanel.setIconGroupTopPosition("right");
menuPanel.setIconCollapsedTopGroup("chevronDown");
menuPanel.setMode("ajax");
conn = new DbConect().getConectar();
String sql = "select id,ativo,grupo,login,pagina,item FROM menu";
stmt = conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
try {
while (rs.next()) {
dadosBean.setId(rs.getInt("id"));
dadosBean.setNivel(rs.getInt("ativo"));
dadosBean.setGrupo(rs.getString("grupo"));
dadosBean.setLogin(rs.getString("login"));
dadosBean.setPagina(rs.getString("pagina"));
dadosBean.setItems(rs.getString("item"));
if (dadosBean.getGrupo().equals("Cadastro")) {
HtmlPanelMenuItem cadItem=new HtmlPanelMenuItem();
cadastro.setLabel(dadosBean.getGrupo());
cadItem.setLabel(dadosBean.getItems());
cadItem.setName(dadosBean.getItems());
cadItem.setActionExpression(getOutcome(dadosBean.getPagina()));
cadastro.getChildren().add(cadItem);
}
if (dadosBean.getGrupo().equals("Painel de Controle")) {
HtmlPanelMenuItem cadPC=new HtmlPanelMenuItem();
PControle.setLabel(dadosBean.getGrupo());
PControle.setLabel(dadosBean.getGrupo());
cadPC.setLabel(dadosBean.getItems());
cadPC.setName(dadosBean.getItems());
cadPC.setActionExpression(getOutcome(dadosBean.getPagina()));
PControle.getChildren().add(cadPC);
}
if (dadosBean.getGrupo().equals("Rastrear")) {
rastrear.setLabel(dadosBean.getGrupo());
HtmlPanelMenuItem cadRastrear=new HtmlPanelMenuItem();
cadRastrear.setLabel(dadosBean.getItems());
cadRastrear.setName(dadosBean.getItems());
cadRastrear.setActionExpression(getOutcome(dadosBean.getPagina()));
rastrear.getChildren().add(cadRastrear);
}
if (dadosBean.getGrupo().equals("Fechar")) {
fechar.setLabel(dadosBean.getGrupo());
HtmlPanelMenuItem cadFechar=new HtmlPanelMenuItem();
cadFechar.setLabel(dadosBean.getItems());
cadFechar.setName(dadosBean.getItems());
cadFechar.setActionExpression(getOutcome(dadosBean.getPagina()));
fechar.getChildren().add(fechar);
}
if (dadosBean.getGrupo().equals("Consultar")) {
consulta.setLabel(dadosBean.getGrupo());
HtmlPanelMenuItem cadConsulta=new HtmlPanelMenuItem();
cadConsulta.setLabel(dadosBean.getItems());
cadConsulta.setName(dadosBean.getItems());
cadConsulta.setActionExpression(getOutcome(dadosBean.getPagina()));
consulta.getChildren().add(consulta);
}
}
menuPanel.getChildren().add(cadastro);
menuPanel.getChildren().add(consulta);
menuPanel.getChildren().add(PControle);
menuPanel.getChildren().add(rastrear);
menuPanel.getChildren().add(fechar);
} catch (SQLException e) {
e.printStackTrace();
}
stmt.close();
rs.close();
conn = new DbConect().getClose();
return menuPanel;
}
private MethodExpression getOutcome(String pagina) {
FacesContext fc = FacesContext.getCurrentInstance();
System.out.println("Paginas -> "+pagina);
ELContext ec = fc.getELContext();
return fc.getApplication().getExpressionFactory().createMethodExpression(ec, "#{" + pagina + "}", String.class, new Class[] {});
}
}
fim maneged beand
meu jsp
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1” pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@ taglib prefix=“rich” uri=“http://richfaces.org/rich”%>
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c”%>
<%@ taglib uri=“https://ajax4jsf.dev.java.net/ajax” prefix=“a4j”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>
<title>PlugSat - Menu Principal</title>
</head>
<body>
<f:view>
<h:form id=“frm”>
<rich:panel id=“panelCentral” >
<rich:panelMenu id=“panelMenuCentral” >
<rich:panelMenuGroup id=“panelMenuGroupCentral”>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich=“http://richfaces.org/rich”>
<style>
.cols{
vertical-align:top;
}
</style>
<h:panelGrid columns="2" columnClasses="cols,cols" style="height: 500px; width: 800px;">
<rich:panel >
<rich:panelMenu mode="ajax" binding="#{adicionaItemsMenu.menuGroup()}" width="170px"/>
</rich:panel>
<rich:panel bodyClass="rich-laguna-panel-no-header" style="width:800px; height: 500px;" id="central" >
[color=red]
//obs: queria que quando seleciona-se um item do menu ele exibi-se aqui independente de qual item for selecionado no menu abaixo segue exemplo com formulario dinamico com carro…[/color]
<a4j:outputPanel ajaxRendered="true">
<rich:panel rendered="#{frmCarro.frmCarro()}">
<h:outputLabel value="#{frmCarro.frmCarro()}" id="current" />
</rich:panel>
</a4j:outputPanel>
</rich:panel>
</h:panelGrid>
</ui:composition>
</rich:panelMenuGroup>
</rich:panelMenu>
</rich:panel>
</h:form>
</f:view>
</body>
</html>
fim meu jsp