Jsp org.apache.myfaces.taglib.core.ViewTag.doStartTag上的java.lang.NullPointerException

Jsp org.apache.myfaces.taglib.core.ViewTag.doStartTag上的java.lang.NullPointerException,jsp,jsf,nullpointerexception,myfaces,Jsp,Jsf,Nullpointerexception,Myfaces,我正在使用MyFaces1.2和WAS7.0以及Myeclipse Blue 10.7。我得到以下错误。我对互联网做了相当彻底的研究,但没有结果。原木不多。MyEclipse没有像IBMRAD那样的JSF跟踪调试实用程序 [8/8/13 10:41:19:447 EDT] 00000018 webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[/sui_i

我正在使用MyFaces1.2和WAS7.0以及Myeclipse Blue 10.7。我得到以下错误。我对互联网做了相当彻底的研究,但没有结果。原木不多。MyEclipse没有像IBMRAD那样的JSF跟踪调试实用程序

[8/8/13 10:41:19:447 EDT] 00000018 webapp        E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[/sui_index.jsp]: java.lang.NullPointerException
    at org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:75)
    at com.ibm._jsp._sui_5F_welcome._jspx_meth_f_view_0(_sui_5F_welcome.java:755)
    at com.ibm._jsp._sui_5F_welcome._jspService(_sui_5F_welcome.java:121)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1664)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:940)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:503)

当您通过与
FacesServlet
的URL模式不匹配的请求URL打开包含JSF组件的JSP页面时,通常会出现此异常。基本上,JSP页面中的JSF组件希望
FacesContext
可以通过
FacesContext\getCurrentInstance()
获得。但是,它返回了
null
,这反过来又导致了
NullPointerException

请注意,堆栈跟踪也不会给出正确调用
FacesServlet
的任何提示。调用直接转到容器自己的JSP servlet,在Websphere中是
HttpJspBase
,而不是JSF自己的
FacesServlet

为了解决这个问题,只需查看
web.xml
中映射了
FacesServlet
的URL模式。在JSF1.x中,这通常是
*.JSF
*.faces
或非常可能
/faces/*
。一旦您了解了这一点,只需确保请求URL(如您在浏览器地址栏中看到的)与该URL模式完全匹配即可。因此,与其举例说

根据实际映射,您应该使用

无论哪种方式,都将调用
FacesServlet
,并能够按照JSP页面中JSF组件的预期正确准备
FacesContext

另见: