Dúvida sobre navegação com jsf

0 respostas
vinihds

Boa noite galera…to com uma dúvida sobre navegação jsf

Eu to fazendo uma tela de login…se caso de certo…vai para o menu, caso contrario, vai para uma outra tela. Porem, ambas as opições vai para a tela de erro.

Onde eu estou errando

faces-config:

<?xml version="1.0" encoding="UTF-8"?>

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
	version="1.2">
	<application>
		<message-bundle>messages</message-bundle>
		<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
	</application>
	<navigation-rule>
		<display-name>logar</display-name>
		<from-view-id>/index.jsp</from-view-id>
		<navigation-case>
			<to-view-id>/menu.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<navigation-rule>
		<display-name>errologar</display-name>
		<from-view-id>/index.jsp</from-view-id>
		<navigation-case>
			<to-view-id>/erroLogar.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<navigation-rule>
		<display-name>voltarlogar</display-name>
		<from-view-id>/erroLogar.jsp</from-view-id>
		<navigation-case>
			<to-view-id>/index.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<lifecycle>
		<phase-listener>br.com.siso.login.Autorizador</phase-listener>
	</lifecycle>
	<managed-bean>
		<managed-bean-name>autenticador</managed-bean-name>
		<managed-bean-class>br.com.siso.controller.UsuarioController</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>

</faces-config>

UsuarioController

package br.com.siso.controller;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import br.com.siso.login.LoginHandler;
import br.com.siso.pojo.Usuario;
import br.com.siso.util.HibernateUtil;

public class UsuarioController {
	
	private Usuario usuario;
	private static Logger logger = Logger.getLogger(UsuarioController.class);
	
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public UsuarioController(){
		this.usuario = new Usuario();
	}
	
	public String logar() {
        Session session = HibernateUtil.getSession();
        Transaction trans = session.beginTransaction();
        Criteria consulta = session.createCriteria(Usuario.class);
        consulta.add(Restrictions.ilike("usuario", this.getUsuario().getUsuario().toUpperCase()));
        consulta.add(Restrictions.ilike("senha", this.getUsuario().getSenha().toUpperCase()));
        List<Usuario> listaUsuario = new ArrayList<Usuario>();
        listaUsuario = consulta.list();
        //HibernateUtil.closeCurrentSession();
        if (!listaUsuario.isEmpty()) {
            logger.info("Usuário logado com sucesso");
            return "logar";
        } else {
            logger.info("Usuário não logado com sucesso");
            return "errologar";
        }
    }
	
	public String voltarlogar(){
		return "voltarlogar";
	}
	
}

Index.jsp:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>..:: Sistema Eletrônico de Orçamentos ::..</title>
</head>
<body>
<f:view>
	<h:form>
		<font face="Arial">
		<br />
			<rich:panel header="Sistema Eletrônico de Orçamento">
				<h:panelGrid columns="3">
					<h:outputText value="Usuário: " />
					<h:inputText id="usuario" value="#{autenticador.usuario.usuario}" required="true" requiredMessage="Usúario é um valor obrigatório."/>
					<h:message for="usuario"></h:message>
					<h:outputText value="Senha: " />
					<h:inputText id="senha" value="#{autenticador.usuario.senha}" required="true" requiredMessage="Senha é um valor obrigatório."/>
					<h:message for="senha"></h:message>
					<h:commandButton value="Entrar" action="#{autenticador.logar}"/>
					
				</h:panelGrid>
			</rich:panel>
		</font>
	</h:form>
</f:view>
</body>
</html>

erroLogar:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>..:: Sistema Eletrônico de Orçamentos : Erro Login::..</title>
</head>
<body>
<f:view>
	<h:form>
			<rich:panel header="Login com erro.">
				<h:outputText value="Erro ao realizar o login. Tente novamente."/>
				<br />
				<h:commandButton value="Login" action="voltarlogar"/>							
			</rich:panel>
	</h:form>
</f:view>
</body>
</html>

menu.jsp:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>..:: Sistema Eletrônico de Orçamentos : Menu ::..</title>
<link href="./css/cssLayout.css" rel="stylesheet" type="text/css" />
</head>
<body>
<f:view>
	<h:form>
		<font face="Arial">
			 	<div id="left">
					<jsp:include page="menuGerencial.jsp"></jsp:include>
				</div>
    	        <div id="content" class="left_content">
        	    	<jsp:include page="corpoLogado.jsp"></jsp:include>
            	</div>
		</font>
	</h:form>
</f:view>
</body>
</html>

valeu

Criado 19 de setembro de 2010
Respostas 0
Participantes 1