Navegaçao não funciona no JSF[RESOLVIDO]

8 respostas
P

Olá pessoal. Sou novo em JSF. To tentando fazer um exemplo extremamente simples, mas to tendo problemas com a navegação. O ecemplo é um formulário que pede nome e senha do usuario e depois exibe uma página de boas vindas com o nome do usuário. A aplicação sobre sem problemas e o formulário é enviado mas a navegação que eu defino no faces-config.xml não funciona. Seguem as páginas e o arquivo faces-config.xml

index.jsp

&lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt; &lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt; &lt;html&gt; &lt;f:view&gt; &lt;head&gt; &lt;title&gt;A simple Java Server Faces Example!&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h:form&gt; &lt;h3&gt;Please, enter your name and password&lt;/h3&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;Name:&lt;/td&gt; &lt;td&gt;&lt;h:inputText value="#{user.name}" /&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Password:&lt;/td&gt; &lt;td&gt;&lt;h:inputSecret value="#{user.password}" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; <p> &lt;h:commandButton value ="Login" action="login"&gt;&lt;/h:commandButton&gt; </p> &lt;/h:form&gt; &lt;/body&gt; &lt;/f:view&gt; &lt;/html&gt;

welcome.jsp

&lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt; &lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt; &lt;html&gt; &lt;f:view&gt; &lt;head&gt; &lt;title&gt;A simple Java Server Faces example&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h:form&gt; &lt;h3&gt; Welcome to Java Server Faces, &lt;h:outputText value="#{user.name}"/&gt;! &lt;/h3&gt; &lt;/h:form&gt; &lt;/body&gt; &lt;/f:view&gt; &lt;/html&gt;

faces-config.xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;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"&gt; &lt;managed-bean&gt; &lt;description&gt;User Name Bean&lt;/description&gt; &lt;managed-bean-name&gt;user&lt;/managed-bean-name&gt; &lt;managed-bean-class&gt;com.corejsf.UserBean&lt;/managed-bean-class&gt; &lt;managed-bean-scope&gt;session&lt;/managed-bean-scope&gt; &lt;managed-property&gt; &lt;property-name&gt;name&lt;/property-name&gt; &lt;property-class&gt;java.lang.String&lt;/property-class&gt; &lt;value/&gt; &lt;/managed-property&gt; &lt;/managed-bean&gt; &lt;navigation-rule&gt; &lt;from-view-id&gt;/index.jsf&lt;/from-view-id&gt; &lt;navigation-case&gt; &lt;from-outcome&gt;login&lt;/from-outcome&gt; &lt;to-view-id&gt;/pages/welcome.jsf&lt;/to-view-id&gt; &lt;/navigation-case&gt; &lt;/navigation-rule&gt; &lt;application&gt; &lt;locale-config/&gt; &lt;/application&gt; &lt;factory/&gt; &lt;lifecycle/&gt; &lt;/faces-config&gt;

8 Respostas

R

Em vez de chamar a regra de navegação direto,crie um método pra retornar a string de resultado.Assim você pode debugar o que está acontecendo.

P

Tentei mas ainda assim não consegui descobrir o qu está acontecendo. Esse exemplo é o do capítulo 1 do livro core JavaServer Faces. Ja observei várias vezes o código e não consigo ver o erro.

L

dar uma olhada:
http://camilolopes.wordpress.com/2009/09/02/serie-1-aplicacoes-jee-com-jsf/

tem esses tb: http://camilolopes.wordpress.com/2009/09/13/serie-2-jsf-criando-um-newsletter-nb/
http://blog.camilolopes.com.br/serie-3-jsf-conexao-mysql-nb/

flw! :smiley:

P

LPJava:
dar uma olhada:
http://camilolopes.wordpress.com/2009/09/02/serie-1-aplicacoes-jee-com-jsf/

tem esses tb: http://camilolopes.wordpress.com/2009/09/13/serie-2-jsf-criando-um-newsletter-nb/
http://blog.camilolopes.com.br/serie-3-jsf-conexao-mysql-nb/

flw! :smiley:

Obrigado pelos links, mas o meu problema não é falta de material de estudo. Como eu disse, esse exemplo é do livro Core JavaServer Faces e estou com o mesmo em mãos. Já li o capítulo e comparei o código do exemplo com o meu. Aparentemente não há nada de errado, o console não dispara erros, a aplicação sobre, mas o botão não executa a action que eu defini no faces-config.xml

L

coloque o botao como submit type= submit.

P

Não é um botão html, mas sim um componente JSF. Nao posso submeter o formulário dessa forma.

L

quem falou pra vc que nao pode colocar o type como submit em um botao jsf? Vc ja viu a tabela de atributos JSF que possui compatibilidade com html?

em um dos links acima tem um exemplo parecido com o seu, seria interessante vc comparar e ver aonde ta o erro. já olhou se o diagram jsf? ali ele aponta para aonde a pagina vai quando receber a string “xxx” .

P

Descobri o problema. No meu arquivo faces-config.xml, eu estava me referindo ao meus arquivos index.jsp e welcome.jsp como index.jsf e welcome.jsf! Vacilo total!

Criado 4 de julho de 2010
Ultima resposta 5 de jul. de 2010
Respostas 8
Participantes 3