在我们的应用程序中,我们为每个用户选项卡定义了一个portlet。
实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
当您使用JSF 1.2并因此无法利用专为此目的而设计的新视图范围时,最好的办法是抓住MyFaces Tomahawk或MyFaces Orchestra。您只需要将“视图”范围的bean从会话范围放回到请求范围中。
如果您想模拟新的JSF 2.0视图范围,即只要您与同一视图交互,bean就会存在,那么您需要将Tomahawk的<t:saveState>
添加到引用请求的视图中scoped bean。
<h:form>
<h:inputText value="#{bean.input}" />
<h:commandButton value="Submit" action="#{bean.submit}" />
<t:saveState value="#{bean}" />
</h:form>
如果您想模拟新的CDI会话范围(可以在同一浏览器选项卡中跨越多个视图),那么您需要集成Orchestra。