我在error.jsf
中提到了错误页面web.xml
:
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/viewExpired.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
如果文件是.jsf,则不会触发错误页面,当我将其更改为.jsp时,一切正常。 我还实现了一个过滤器,但仍然没有。
<filter>
<filter-name>Error</filter-name>
<filter-class>creazione.exception.MyFilter</filter-class>
</filter>
这是JSF无法处理的事情吗?
UPDATE web.xml中带有url-pattern映射的代码:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
答案 0 :(得分:2)
如果您实际上将Facelets用作默认视图技术(如JSF 2.0中标准化),则会发生这种情况。您的问题历史记录还确认您使用的是Facelets而不是其旧的前置JSP。您还需要创建这些错误页面Facelets文件,而不是JSP文件。
过滤器不“正常”是由其他原因造成的。过滤器与JSF结合使用完全没有问题。