我一直在从JSF 1.0迁移到JSF 2.2。
尝试运行我的应用时出现以下错误:
JSP错误页面在呈现响应后非法尝试设置ViewHandler。 | java.lang.IllegalStateException:在呈现响应后非法尝试设置ViewHandler。
在阅读了问题的一些解决方案后,我想这是视图处理程序定义的问题。
应该在faces-config.xml
而不是:
<view-handler>org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl</view-handler> ?
显然,如果这不是问题,我也会很高兴听到这个问题。
答案 0 :(得分:3)
java.lang.IllegalStateException:在呈现响应后非法尝试设置ViewHandler。
如果在应用程序已经提供了第一个请求/响应之后,尝试以以编程方式设置 因此,这与ViewHandler
之后的,则会发生此异常:< / p>
context.getApplication().setViewHandler(new SomeViewHandler());
<view-handler>
中的任何faces-config.xml
条目无关。其他一些组件库必须这样做。其中RichFaces 3.x就是这样做的(根据问题的评论确认)。您需要将其升级到JSF 2.x兼容版本,该版本至少是RichFaces 4.x. 另见: