Galera criei um menubar com primefaces, mas o atributo action da Tag <p:menuitem> não fuciona,
mas quanto utilizo o atributo URL funciona perfeitamente.
<!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:composition>
<h:form id="menu">
<p:growl id="messages"/>
<p:menubar autoSubmenuDisplay="true">
<p:submenu label="Cadastrar" icon="ui-icon ui-icon-plusthick">
<p:menuitem value="Funcionario" icon="ui-icon ui-icon-person" action="#{funcionariobean.cadastrarFuncionario}" ajax="false"> </p:menuitem>
<p:menuitem value="Voluntário" icon="ui-icon ui-icon-bookmark" url="/pages/gestor/cadastrarVoluntario.jsf"> </p:menuitem>
<p:menuitem value="Idosos" icon="ui-icon ui-icon-heart" url="/pages/gestor/cadastrarIdoso.jsf"></p:menuitem>
<p:menuitem value="Atividade" icon="ui-icon ui-icon-flag" url="/pages/gestor/cadastrarAtividade.jsf"></p:menuitem>
<p:menuitem value="Chamada" icon="ui-icon ui-icon-note" url="/pages/gestor/cadastrarChamada.jsf"></p:menuitem>
</p:submenu>
<p:submenu label="Consultar" icon="ui-icon ui-icon-search">
<p:menuitem value="Funcionario" icon="ui-icon ui-icon-person" url="/pages/gestor/consultarFuncionario.jsf" > </p:menuitem>
<p:menuitem value="Voluntário" icon="ui-icon ui-icon-bookmark" url="/pages/gestor/consultarVoluntario.jsf"> </p:menuitem>
<p:menuitem value="Idosos" icon="ui-icon ui-icon-heart" url="/pages/gestor/consultarIdoso.jsf"></p:menuitem>
<p:menuitem value="Atividade" icon="ui-icon ui-icon-flag" url="/pages/gestor/consultarAtividade.jsf"></p:menuitem>
<p:menuitem value="Chamada" icon="ui-icon ui-icon-note" url="/pages/gestor/consultarChamada.jsf"></p:menuitem>
</p:submenu>
<p:submenu label="Relatórios" icon="ui-icon ui-icon-script">
<p:menuitem icon="ui-icon ui-icon-circle-check" value="Idosos" url="/pages/gestor/relatorioIdoso.jsf"></p:menuitem>
<p:menuitem icon="ui-icon ui-icon-circle-close" value="Atividades" url="/pages/gestor/relatorioAtividades.jsf"></p:menuitem>
<p:menuitem icon="ui-icon ui-icon-pencil" value="Chamadas" url="/pages/gestor/relatorioChamada.jsf"></p:menuitem>
</p:submenu>
<p:submenu label="Usuário" icon="ui-icon ui-icon-script">
<p:menuitem icon="ui-icon ui-icon-pencil" value="Alterar" url="/pages/geral/alterarSenha.jsf"></p:menuitem>
</p:submenu>
<p:submenu label="Opções" icon="ui-icon ui-icon-eject">
<p:menuitem value="Ajuda" url="/pages/gestor/index.jsf" icon="ui-icon ui-icon-help" ></p:menuitem>
<p:menuitem value="Sair" ajax="false" icon="ui-icon ui-icon-arrowthickstop-1-e" action="#{usuarioBean.logof}"/>
</p:submenu>
</p:menubar>
<p:ajaxStatus style="width:16px;height:16px;">
<f:facet name="start">
</f:facet>
</p:ajaxStatus>
</h:form>
</ui:composition>
</html>
Gostaria de Substituir todos os URL's para uma action para eu poder fazer alguns tratamentos antes de renderizar a página.
Segue o MB:
@ManagedBean
@RequestScoped
public class FuncionarioBean extends GenericoBean {
private static final long serialVersionUID = 1L;
@ManagedProperty(value = "#{funcionario}")
private Funcionario funcionario;
protected List<SelectItem> listaUfs = null;
protected List<SelectItem> listaEstadosCivis = null;
private List<Funcionario> funcionarios;
public FuncionarioBean() {
this.funcionarios = new ArrayList<Funcionario>();
this.listaUfs = new ArrayList<SelectItem >();
this.listaEstadosCivis = new ArrayList<SelectItem >();
this.listaUfs = FuncionarioBean.getListaUnidadesFederativa();
this.listaEstadosCivis = FuncionarioBean.getListaEstadoCivil();
}
@PostConstruct
public void init() {
this.funcionario = new Funcionario();
}
public String cadastrarFuncionario() {
FacesMessage msg = new FacesMessage("Funcionário Cadastrado Com Sucesso");
FacesContext.getCurrentInstance().addMessage(null, msg);
return "index";
}
public String consultarFuncionario(){
return "";
}
public String proximaEtapa(FlowEvent event) {
return event.getNewStep();
}
/* --------------------------------------------------------------------- */
/* ------------------------ Métodos get / set -------------------------- */
/* --------------------------------------------------------------------- */