IllegalStateException:在呈现响应后非法尝试设置ViewHandler

时间:2015-01-22 13:07:57

标签: jsf jsf-2.2 faces-config viewhandler

我一直在从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> ?

显然,如果这不是问题,我也会很高兴听到这个问题。

1 个答案:

答案 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.

另见: