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)

最佳答案

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

如果以网址格式为例

<url-pattern>*.jsf</url-pattern>


那么您应该使用浏览器地址栏中的index.jsf而不是index.jsp打开页面。

关于java - 无法在jsf中找到面孔上下文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11009298/

10-12 00:37
查看更多