在jsf中找不到面部上下文

时间:2012-06-13 06:25:03

标签: java eclipse jsf jboss

我正在尝试在JSF上创建一个简单的程序。我将它部署在JBOSS 5服务器上。但是当我尝试运行它时会抛出这些异常。

  

类型例外报告

     

消息描述服务器遇到阻止的内部错误()   它来自履行这一要求。

     

异常 org.apache.jasper.JasperException:java.lang.RuntimeException:不能   找到FacesContext     org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)     javax.servlet.http.HttpServlet.service(HttpServlet.java:803)     org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

     

根本原因

     

java.lang.RuntimeException:找不到FacesContext     javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855)     javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672)     org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:90)     org.apache.jsp.index_jsp._jspService(index_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:369)     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)     javax.servlet.http.HttpServlet.service(HttpServlet.java:803)     org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

1 个答案:

答案 0 :(得分:3)

如果浏览器地址栏中显示的请求网址与webapp <url-pattern>中定义的FacesServlet的{​​{1}}不匹配,则会引发此异常。如果未调用web.xml,则不会创建FacesServlet,然后JSP页面中的JSF组件将抛出此异常。

如果URL模式是例如

FacesContext

然后您应该使用浏览器地址栏中的<url-pattern>*.jsf</url-pattern> 而不是index.jsf打开该页面。