Tenho hoje meu menu criado manualmente
<h:form style="text-align: center">
<p:menu>
<p:submenu label="Help Desk">
<p:menuitem value="Home" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(0)}" update="fdiv" ajax="false" icon="ui-icon-home"/>
</p:submenu>
</p:menu>
<p:spacer width="5" height="5"/>
<p:menu>
<p:submenu label="Sistemas">
<p:menuitem value="DataSul" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(1)}" update="fdiv" ajax="false" icon="ui-icon-arrowrefresh-1-w"/>
<p:menuitem value="Benner" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(2)}" update="fdiv" ajax="false" icon="ui-icon-arrowrefresh-1-w"/>
<p:menuitem value="Portal" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(3)}" ajax="false" icon="ui-icon-arrowrefresh-1-w"/>
</p:submenu>
<p:submenu label="TI">
<p:menuitem value="Equipamentos" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(4)}" ajax="false" icon="ui-icon-extlink"/>
<p:menuitem value="Redes" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(5)}" ajax="false" icon="ui-icon-extlink"/>
<p:menuitem value="Telefonia" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(6)}" ajax="false" icon="ui-icon-extlink"/>
</p:submenu>
</p:menu>
<p:spacer width="5" height="5"/>
<p:menu>
<p:submenu label="Consultas">
<p:menuitem value="Chamados" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(7)}" icon="ui-icon-arrowrefresh-1-w"/>
</p:submenu>
<p:submenu label="Base Conhecimento">
<p:menuitem value="Pesquisar" action="chamados.xhtml" actionListener="#{validaTipoTela.tipoTela(8)}" ajax="false" icon="ui-icon-extlink"/>
</p:submenu>
</p:menu>
</h:form>
como eu faço para conseguir deixar as opçoes ACTION e ACTIONLISTENER sendo criado dinamicamente por uma classe
public MenuModel MenuBean() throws SQLException {
try {
rs = Conexao.Consulta("select id, descricao, tipo, url from help_menu order by ordem");
} catch (SQLException ex) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Erro ao Carregar Menu", ex.getMessage()));
}
Submenu submenu = null;
model = new DefaultMenuModel();
while (rs.next()) {
if (rs.getInt("tipo") == 0) {
submenu = new Submenu();
submenu.setLabel(rs.getString("descricao"));
model.addSubmenu(submenu);
} else if (rs.getInt("tipo") == 1) {
MenuItem item = new MenuItem();
item.setValue(rs.getString("descricao"));
submenu.getChildren().add(item);
model.addSubmenu(submenu);
}
}
return model;
}
Essa é a minha classe, cria corretamente o meu menu, porém nao consigo fazer ele chamar e executar as coisas como menu manual.
Alguma sugestao??