Ola galera
estou segindo um tutorial de jsf copiei tudo igualzinho eu vi no tutorial, mas quando eu clico no botao que dispara a minha action “sucesso” para redirecionar para a pagina2.jsp, simplesmente não é redirecionado continua exibindo a pagina Inicial.jsp.
Estou tendo a impressão que o meu arquivo faces-config.xml nao está sendo visto pelo sistema.
segue o codigo:
index.jsp
<html>
<body>
<jsp:forward page="Inicial.jsp" />
</body>
</html>
Inicial.jsp
<html>
<head>
<title></title>
</head>
<body>
<f:view>
<h:form id="formulario" >
<h:inputText id="nome" value="#{myService.nome}" required="true" />
<!-- aqui acontece o erro! -->
<h:commandButton id="cb" value="Enviar" action="#{myService.acao}"/><br>
<h:messages/>
</h:form>
</f:view>
</body>
</html>
pagina2.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title></title>
</head>
<body>
<f:view>
Olá <h:outputText value="#{myService.nome}"/>
</f:view>
</body>
</html>
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
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">
<managed-bean>
<managed-bean-name>myService</managed-bean-name>
<managed-bean-class>br.com.arm.service.MyService</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/Inicial.jsp</from-view-id>
<navigation-case>
<from-outcome>sucesso</from-outcome>
<!-- não está acontecendo este redirecionamento! -->
<to-view-id>/pagina2.jsp</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>falha</from-outcome>
<to-view-id>/Inicial.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
web.xml
<?xml version="1.0"?>
<web-app version="2.5" 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-app_2_5.xsd">
<display-name>testeJSF</display-name>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<!-- Faces Servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
MyServer.java
package br.com.arm.service;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
public class MyService {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String acao() {
boolean sucesso = true;
FacesContext context = FacesContext.getCurrentInstance();
if (nome != null) {
for (int i = 0; i < nome.length( ); i++) {
char c = nome.charAt(i);
if (!Character.isLetter(c) &&!Character.isSpaceChar(c)){
String msg= "Digite somente caracteres alfabéticos.";
FacesMessage message = new FacesMessage(msg);
context.addMessage("formulario", message);
sucesso = false;
break;
}
}
} else {
sucesso = false;
}
String s = (sucesso ? "sucesso" : "falha");
return s;
}
}
Agradeço a ajuda galera
valew