从actionListener

时间:2018-02-14 09:11:25

标签: primefaces jsf-2 view-scope

简短的问题:我可以使用<p:commanLink>查看ViewScoped bean重新初始化吗?

我的情况:使用

动态包含两个页面(page1.xhtml,page2.xhtml)
<ui:include src="#{myBean.pageId}"/>

我有<p:commandLink>从page1切换到page2。在第2页中,有一个<p:dataTable>,其中包含一个关联的ViewScoped支持bean。数据使用@PostConstruct方法加载,每次访问视图时都必须再次加载。有没有办法强制它,或者我必须改变bean的范围?

关注this nice article

  

新视图范围应该准确解决这些问题。一个@ViewScoped   只要您将表单提交到同一视图,bean就会存在   一次又一次。换句话说,只要行动方法   返回null或甚至是void,bean将在下一个请求中出现。   导航到不同的视图后,bean将被删除。

我尝试过以下方式......

 <p:commandLink action="newview" actionListener="#{myBean.goToPage2}" ajax="false">

但PostConstruct方法仅在第一次调用。

更新(查看重复的问题链接)

我仍然不明白,我尝试使用动作方法并返回一个空字符串,但每次按下链接时都不会重新创建ViewScoped bean。

0 个答案:

没有答案