java.lang.RuntimeException: Cannot find FacesContext
因此,JSF
<f:xxx>和
<h:xxx>标签抱怨
FacesContext找不到。本
FacesServlet是一个负责创建faces上下文。当请求URL匹配其URL模式(在您的情况下)时,将调用facesservlet
*.jsf。因此,当您打开
index.jspas
http://localhost:8080/context/index.jsp或依赖该
<welcome-file>设置时,就不会调用faceservlet,并且确实会发生此异常。
您需要打开
index.jspas
http://localhost:8080/context/index.jsf或将欢迎文件条目设置为
index.jsf,以正确调用facesservlet,以便它可以创建在JSP页面中声明的JSF组件所需的faces上下文。
但是请注意,在此JSF 1.x +
Tomcat环境中,仅修复欢迎文件是不够的。您还需要在webcontent中的
index.jsf文件旁边提供一个物理上存在但完全空的
index.jsp文件,以欺骗
index.jsf作为欢迎文件真正存在的Tomcat。否则会显示404错误,因为它会事先检查欢迎文件的物理存在。
与 具体问题 无关 ,我想知道如果您显然已经安装了Facelets1.x并注册了其视图处理程序,为什么还要使用JSP。Facelets远优于JSP。



