Menu do Richfaces não está redirecionando as paginas
23 respostas
EuclidesFilizola
Bom dia pessoal,
gostaria de saber porque meu menu do richfaces não está funcionando.
Alguém saberia me dizer o porquê ?
<body><h:form><rich:dropDownMenuvalue="Convenio"direction="bottom-right"jointPoint="tr"><rich:menuItemaction="CadastrarConvenio"value="cadastrar convenio"/><rich:menuItemaction="PesquisarConvenio"value="pesquisar convenio"/></rich:dropDownMenu><h:commandLinkvalue="Sair"action="#{loginMBean.sair}"onclick="return confirm('Deseja realmente sair da aplicação?')"styleClass="sair"style="margin-left:6px;"/></h:form></body>
Se não me engano a Action tem que ser um método do seu ManagedBean… Eu costumo utilizar um ManagedBean de request para tratar redirecionamento…Funciona bem… Veja…
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageMngBeans;/** * * @author Vinicius */publicclassNavigationController{privateStringurl="nullPage.jsp";/** Creates a new instance of NavigationController */publicNavigationController(){}/** * @return the url */publicStringgetUrl(){returnurl;}/** * @param url the url to set */publicvoidsetUrl(Stringurl){this.url=url;}}
Diferente de vc eu uso Ajax pra exibir a página sem recarregar o menu (dentro de uma div)…
Más vc pode usar as navigations rules simplesmente sem usar ajax… vc manda apenas ele retornar a String com o valor que ele tem q navegar…
EuclidesFilizola
Beleza Vinicius. Vou testar aqui os 2 modos utilizando um métodos. tanto usando um MB e usando Ajax. Eu só tenho uma dúvida, se eu utilizar um MB do tipo session, vai da algum pro ? Sabe me informar. ?
EuclidesFilizola
Bem utilizando um método dentro do mb e retornando a action não funcionou.
publicStringlogar(){try{Sessionsession=Util.HibernateUtil.getSessionFactory().openSession();FuncionarioDAOacessoDAO=newFuncionarioDAO(session);FacesContextfc=FacesContext.getCurrentInstance();Funcionariofunc=(Funcionario)fc.getApplication().getVariableResolver().resolveVariable(fc,"func");FuncionarioPKfunc_pk=(FuncionarioPK)fc.getApplication().getVariableResolver().resolveVariable(fc,"funcpk");Empresaempresa=(Empresa)fc.getApplication().getVariableResolver().resolveVariable(fc,"empresa");func_pk.setEmpresaId(empresa.getId());func.setFuncionarioPK(func_pk);returnacessoDAO.verificaAutenticacao(func);}catch(Exceptione){return"Erro no VariableResolver."+e.getMessage();}}
Aqui que ta o lance.. se for validado retorna a String...
public String verificaAutenticacao(Usuario usr) {
Query query = session.createQuery("SELECT u FROM Usuario u WHERE u.id = :id AND u.senha = :pw");
query.setParameter("pw", usr.getSenha());
query.setParameter("id", usr.getId());
Usuario user = (Usuario) query.uniqueResult();
if (user == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Usuário ou senha incorretos"));
return null;
} else if(user.getStatusUserId().getId() == 1) {
usr = user;
return "usr_ok";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Usuário bloqueado ou inativo"));
return null;
}
}
H
henriquejhc
Seu menu:
<body><h:form><rich:dropDownMenuvalue="Convenio"direction="bottom-right"jointPoint="tr"><rich:menuItemaction="#{actionMB.cadastrarConvenio}"value="cadastrar convenio"/><rich:menuItemaction="#{actionMB.pesquisarConvenio}"value="pesquisar convenio"/></rich:dropDownMenu><h:commandLinkvalue="Sair"action="#{loginMBean.sair}"onclick="return confirm('Deseja realmente sair da aplicação?')"styleClass="sair"style="margin-left:6px;"/></h:form></body>
Estou com o mesmo problema, por favor poderia postar o codigo?
Grato.
EuclidesFilizola
assim ficou meu menu depois que eu ajeitei.
<rich:dropDownMenuvalue="Cadastro"direction="bottom-right"jointPoint="tr"><rich:menuItemvalue="Material"submitMode="client"onclick="window.open('http://hefesto:8080/bdlist/')"/><rich:menuItemaction="CadastrarConvenio"value="cadastrar convenio"/><rich:menuItemaction="CadastrarFornecedor"value="cadastrar fornecedor"/><rich:menuItemaction="CadastrarNotaFiscal"value="cadastrar nota fiscal"/><rich:menuItemaction="CadastrarDeprecicao"value="Depereciacao"/></rich:dropDownMenu><rich:dropDownMenuvalue="Consulta"direction="bottom-right"jointPoint="tr"><rich:menuItemaction="PesquisarConvenio"value="consultar convenio"/><rich:menuItemaction="PesquisarFornecedor"value="consultar fornecedor"/><rich:menuItemaction="PesquisarNotaFiscal"value="pesquisar nota fiscal"/></rich:dropDownMenu><rich:dropDownMenuvalue="Patrimonio"direction="bottom-right"jointPoint="tr"><rich:menuItemaction="PesquisarPatrimonio"value="Patrimonio Cadastrado"/><rich:menuItemaction="PesquisarPatrimonioNaoCadastrado"value="Patrimonio Não Cadastrado"/></rich:dropDownMenu><rich:dropDownMenuvalue="Relatorios"direction="bottom-right"jointPoint="tr"></rich:dropDownMenu><h:commandLinkvalue="Sair"action="#{loginMBean.sair}"onclick="return confirm('Deseja realmente sair da aplicação?')"styleClass="sair"style="margin-left:6px;"/>
F
fernandosc
Ainda não esta funcionando…
Poderia postar o seu MB?
EuclidesFilizola
Eu preciso saber, oq que acontece no seu menu ?
você clica em alguma opção e não faz nada, é isso ?