Fala ai galerinha…
To com um problema com o JSF para redirecionamento de páginas, criei um exemplo simples aqui para verificar se o nome é duplicado, após o usuario clicar no botão ele redireciona para uma página jsp de nome duplicados.jsp, caso o nome não estea duplicado( que concerteza não está por que não estou armazenando os nomes ) ele tem que direcinar para uma pagina sucesso.jsp, mais eu prencho os campos e clico no botão não acontece nada… to tentando descobrir aqui mais não to conseguindo…
vo postar o arquivo de configuração do JSF "faces-config" e os demais arquivos que utilizei…
Classe InscricaoBean
package com.algaworks.dwjsf.visao;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class InscricaoBean {
private String nome;
private String email;
private String mensagem;
public String inscrever() {
if (nome == null || nome.length() < 10
|| "".equals(email.trim())) {
this.setMensagem("Informe corretamente o nome "
+ "e e-mail!");
return null;
}
//verifica se cadastro é duplicado
boolean duplicado = false;
if (duplicado) {
return "duplicado";
}
//armazena inscrição, limpa atributos do formulário
//e retorna com sucesso
//...
return "sucesso";
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
}
Pagina JSP Inscrição
<%@ 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"%>
<!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>Página de Incrição de Clientes</title>
</head>
<body>
<f:view>
<h:form>
<h:outputText value="#{inscricaoBean.mensagem}"
rendered="#{not empty inscricaoBean.mensagem}"/>
<br/>
<h:outputText value="Nome: " />
<h:inputText value="#{inscricaoBean.nome}"/>
<br/>
<h:outputText value="E-mail: " />
<h:inputText value="#{inscricaoBean.email}"/>
<br/>
<h:commandButton action="#{inscricaoBean.inscrever}"
value="Inscrever" />
</h:form>
</f:view>
</body>
</html>
Página JSP Sucesso ( A QUE DEVERIA APARECER APÓS PREENCHER OS CAMPOS E CLICAR NO BOTÃO)
<%@ 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"%>
<!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>Insert title here</title>
</head>
<body>
<f:view>
<h1>SUCESSO
</h1>
</f:view>
</body>
</html>
Configuação do JSF ( 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">
<managed-bean>
<managed-bean-name>inscricaoBean</managed-bean-name>
<managed-bean-class>
com.algaworks.dwjsf.visao.InscricaoBean
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/inscricao.jsp</from-view-id>
<navigation-case>
<from-outcome>duplicado</from-outcome>
<to-view-id>/duplicado.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>sucesso</from-outcome>
<to-view-id>/sucesso.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>