Olá, estou tentando rodar uma coisa básica no java server faces, porém tem acontecido alguns problemas.
Estou usando atualmente a ide eclipse juntamente com o tomcat 5.5.
Tenho adicionado o jsp-api2.1.jar(a versão que vem com o Tomcat provocava um erro por não conter uma classe requisitada) e o servlet-api(o do tomcat).
Eu fui em http://myfaces.apache.org/ e baixei myfaces-core-1.2.0-bin.zip
Adicionei todos os jars em meu lib da minha aplicação.
Então parti para os códigos. faces-config.xml<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<managed-bean>
<description>The one and only HelloBean.</description>
<managed-bean-name>helloWorldBean</managed-bean-name>
<managed-bean-class>beans.HelloWorldBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>java server faces</display-name>
<description>Welcome to JavaServer Faces</description>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
package beans;
public class HelloWorldBean
{
private String message;
public HelloWorldBean()
{
message = "Olá mundo";
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
}
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<html>
<body>
<f:view>
<h:form>
<h:outputText value="#{helloWorldBean.message}"></h:outputText>
</h:form>
</f:view>
</body>
</html>
Quando tento acessar essa página HelloWorld.jsp acontece o seguinte erro.
org.apache.jasper.JasperException: Exception in JSP: /HelloWorld.jsp:5
2: <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
3:
4:
5:
6:
7:
8:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException
org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:88)
org.apache.jsp.HelloWorld_jsp._jspx_meth_f_view_0(HelloWorld_jsp.java:88)
org.apache.jsp.HelloWorld_jsp._jspService(HelloWorld_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
Gostaria de saber qual é o problema. Vocês tem alguma sugestão?