JSF 2.0 - Erro FacesContext

19 respostas
caio_sope

Pessoal. Sou iniciante e estou com um problema com o JSF 2.0.

Criei o projeto no Eclipse Helios e configurei nas propriedades para ele suportar JSF 2.0.
coloquei as libs no projeto:

-JSF2: jfs-imp.jar e jsf-api.jar
-JSTL: jstl-imp-1.2.jar e jstl-api-1.2.jar

Criei um jsp muito simples. Apenas coloquei o <f:view> e dentro do coloquei um <h:form> com um <h:outputLabel> dentro.

Porém na hora que subo o servidor e executo dá exception por causa do FacesContext:

java.lang.IllegalStateException: No FacesContext is available to process this request.  This is most likely due to the request being sent to the wrong path.

com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:159)

org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:100)

org.apache.jsp.index_jsp._jspService(index_jsp.java:74)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Alguém sabe o que é isso? Podem me ajudar, please??

Valeuzão!

19 Respostas

caio_sope

Pessoal me ajudem please!!

A

Há na sua aplicação o faces-config.xml?

caio_sope

Sim… não mexi nele. Apenas adicionei um ManagedBean.

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



geradorDeApostasBean
caio.jsf2.beans.GeradorDeApostasBean
request

A

Poste seu código brother…

A

Faça então por anotação

@ManagedBean public class GeradorDeApostasBean{ } // faz o import correto

E tire do faces esse código:

<managed-bean> <managed-bean-name>geradorDeApostasBean</managed-bean-name> <managed-bean-class>caio.jsf2.beans.GeradorDeApostasBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean>

caio_sope
%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Agora vai funcionar!!!</title>
</head>
<body>
	<h:form>
		<h:outputLabel value="VAI PORRA!!!" />
	</h:form>
</body>
</f:view>
</html>
caio_sope

São sim… baixei o jsf2 ctza.

caio_sope

Mesmo excluindo o ManagedBean da aplicação não funcionou.

com anotação @ManagedBean não reconhece.
Qual o import certo?

Valeu.

A
caio_sope:
%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Agora vai funcionar!!!</title>
</head>
<body>
	<h:form>
		<h:outputLabel value="VAI PORRA!!!" />
	</h:form>
</body>
</f:view>
</html>

Cara, tente fazer usando .xhtml e com os seguintes imports/mapeamentos (vide anexo).

A

caio_sope:
Mesmo excluindo o ManagedBean da aplicação não funcionou.

com anotação @ManagedBean não reconhece.
Qual o import certo?

Valeu.

Acho que é javax.faces.bean.ManagedBean.

caio_sope

Refiz as bibliotecas e agora mudou o erro:

java.lang.NullPointerException

javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1858)

org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:99)

org.apache.jsp.index_jsp._jspService(index_jsp.java:74)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Alguma idéia???

caio_sope

Fiz com xhtml uma página de exemplo da apostila do K19:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	  xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Iniciando com JSF 2.0</title>
</h:head>
<h:body>
	<h:form>
		<h:panelGrid>
			<h:outputLabel value="Quantidade total de números:" /><br />
			<h:inputText value="#{geradorDeApostasBean.quantidadeDeNumeros}" /><br />
			
			<h:outputLabel value="Quantidade de números por aposta:" /><br />
			<h:inputText value="#{geradorDeApostasBean.tamanhoDaAposta}" /><br />
			
			<h:outputLabel value="Quantidade de apostas:" /><br />
			<h:inputText value="#{geradorDeApostasBean.quantidadeDeApostas}" /><br />
			
			<h:commandButton action="#{geradorDeApostasBean.geraApostas()}"
			value="Gerar" />
		</h:panelGrid>
	</h:form>
</h:body>
</html>

Porém na hora que abro no firefox e no IE a página aparece em branco!

A

Em que situação ocorreu?

A

Se quiser, pode compactar e me enviar [email removido] o seu projeto, que eu arrumo para você poder treinar, porém o farei a noite.

A

caio_sope:
Fiz com xhtml uma página de exemplo da apostila do K19:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	  xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Iniciando com JSF 2.0</title>
</h:head>
<h:body>
	<h:form>
		<h:panelGrid>
			<h:outputLabel value="Quantidade total de números:" /><br />
			<h:inputText value="#{geradorDeApostasBean.quantidadeDeNumeros}" /><br />
			
			<h:outputLabel value="Quantidade de números por aposta:" /><br />
			<h:inputText value="#{geradorDeApostasBean.tamanhoDaAposta}" /><br />
			
			<h:outputLabel value="Quantidade de apostas:" /><br />
			<h:inputText value="#{geradorDeApostasBean.quantidadeDeApostas}" /><br />
			
			<h:commandButton action="#{geradorDeApostasBean.geraApostas()}"
			value="Gerar" />
		</h:panelGrid>
	</h:form>
</h:body>
</html>

Porém na hora que abro no firefox e no IE a página aparece em branco!


Poste seu ManagedBean…

caio_sope

Pô cara, valeu!

Tô te enviando então por e-mail.
Brigadão mesmo!

A

Oi brother, acabei de testar seu projeto e, está funcionando ok, eu apenas baixar a biblioteca JSF 2.0 pois estou usando Tomcat 7 web container e não servidor web JEE:

http://java.net/downloads/javaserverfaces/release/mojarra-2.0.6-FCS-binary.zip

Ademais tudo funcionou perfeitamente, talvez você problema com a lógica do programa, antes de clicar no Gerar é preciso passar valores, caso contrário irá retornar
uma página em branco mesmo, vide o anexo:

Espero que ajude,
André AS

caio_sope

Então cara o que tava acontecendo é que no web.xml tava para rekonhecer arkivos .jsf
Eu coloquei a URL certinha e ao invés de por .xhtml depois eu coloquei .jsf e funcionou normal.

Você configurou alguma coisa para funcionar colocando o .xhtml na URL?

Valeu ae a força!

A

caio_sope:
Então cara o que tava acontecendo é que no web.xml tava para rekonhecer arkivos .jsf
Eu coloquei a URL certinha e ao invés de por .xhtml depois eu coloquei .jsf e funcionou normal.

Você configurou alguma coisa para funcionar colocando o .xhtml na URL?

Valeu ae a força!

Não não fiz nada de diferente, só o que cito acima. Fico feliz que tenha conseguido resolver.

Se quiser, me add no msn.

Abs,
André AS

Criado 30 de junho de 2011
Ultima resposta 30 de jun. de 2011
Respostas 19
Participantes 2