8.2 与 Seam 和 JSF 1.2 。我的问题是在我的支持 bean 中有一个方法,我在将页面呈现给用户之前初始化某些值。在后台 bean 方法中,我使用了 SessionRenderer.addCurrentSession("all")。
在我的页面中,在用户选择页面中的下拉菜单后,我将部分提交页面到在同一个支持 bean 中定义的 valueChangeListener 方法。在那里操作值之后,我试图通过使用 SessionRenderer.render("all") 从更改侦听器方法呈现视图。
这是我得到 ViewExpiredException: Execute push on unknown view 的地方。
服务器日志还显示 [ViewStateManagerImpl] Missing View Root in Restore state in ice session [session id] view number: 1
请帮我解决这个问题!
我的 faces-config.xml 看起来像
<managed-bean-name>renderMgr</managed-bean-name>
<managed-bean-class>
com.icesoft.faces.async.render.RenderManager
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-bean-name>RulesBean</managed-bean-name>
<managed-bean-class>
com.xxxx.rpa.session
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>renderManager</property-name>
<value>#{renderMgr}</value>
</managed-property>
在我的 web.xml 中,我设置了 context-param
<param-name>com.icesoft.faces.synchronousUpdate</param-name>
<param-value>false</param-value>
<param-name>com.icesoft.faces.concurrentDOMViews</param-name>
<param-value>true</param-value>