This question already has an answer here:
java.lang.RuntimeException Cannot find FacesContext
(1个答案)
3年前关闭。
我试图在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个答案)
3年前关闭。
我试图在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)
最佳答案
当浏览器地址栏中显示的请求URL与webapp的<url-pattern>
中定义的FacesServlet
的web.xml
不匹配时,将引发此异常。如果未调用FacesServlet
,则不会创建FacesContext
,然后JSP页面中的JSF组件将引发此异常。
如果以网址格式为例
<url-pattern>*.jsf</url-pattern>
那么您应该使用浏览器地址栏中的
index.jsf
而不是index.jsp
打开页面。关于java - 无法在jsf中找到面孔上下文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11009298/