在f:view标记中获取NullPointerException和未找到FacesContext错误

时间:2014-12-23 17:06:39

标签: jsf

我正在尝试在我的服务器中运行一个非常简单的hello world示例JSF程序。 但是我在NullPointerException本身收到此错误和<f:view>错误。

org.apache.jasper.JasperException: An exception occurred processing JSP page /main_page_view.jsp at line 9

6: String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
7: %>
8: 
9: <f:view>
10: <html>
11:   <head>
12:  


Stacktrace:       org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause 

java.lang.RuntimeException: Cannot find FacesContext
javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1797)
javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:161    4)
org.apache.jsp.main_005fpage_005fview_jsp._jspx_meth_f_005fview_005f0(main_005fpage_005fview_jsp.java:90)
org.apache.jsp.main_005fpage_005fview_jsp._jspService(main_005fpage_005fview_jsp.java:67)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

我的下面是faces-config.xml

<?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">

</faces-config>

同样在我的web.xml中,我有以下内容。

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
</web-app>

以下是我的main_page_view.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%
String path = request.getContextPath();
String basePath =   request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<f:view>
    <html>
        <head>
            <title>My JSP 'main_page_view.jsp' starting page</title>

            <meta http-equiv="pragma" content="no-cache">
            <meta http-equiv="cache-control" content="no-cache">
            <meta http-equiv="expires" content="0">
            <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
            <meta http-equiv="description" content="This is my page">
            <!--
            <link rel="stylesheet" type="text/css" href="styles.css">
            -->
        </head>
        <body>
            <br>This is my JSP page. <br>
        </body>
    </html>
</f:view>

我没有在我的项目中添加任何额外的东西甚至是罐子。 我正在使用MyEclipse编辑器,在项目创建过程中,它自己给了我以下的罐子。

  • javaee.jar
  • JS​​F-impl.jar中
  • JS​​F-api.jar文件
  • JS​​TL-1.2.jar

任何人都可以请求帮助,请给我任何有效的解决方案。我没有得到任何线索。我还尝试将jar放在lib文件夹中,然后开始在NullPointerException标签上获取<f:view>

0 个答案:

没有答案