繁体   English   中英

JSF 2.0视图范围不起作用

[英]JSF 2.0 view scope not working

我在我的应用程序中使用PrimeFaces,其中我有一个填充了数据的数据表。 我还有一个编辑命令按钮。

现在我想打开一个新的JSF页面。 执行此操作的操作绑定到视图范围中的辅助bean。 在action方法中,我可以访问bean的值,但是在新的JSF页面上,我再也无法访问这个bean的任何值。

这是我的代码:

<p:commandLink title="Edit" id="editBtn" action="#{personRegisterController.selectPerson}">
    <f:setPropertyActionListener value="#{person}" target="#{personRegisterController.personBean}"/>
</p:commandLink>

JSF中的视图范围是仅包含单个视图(页面)的范围。 因此,只要您回发到同一视图,您将保留视图范围bean的数据。

但是,只要导航到新视图,就会启动新的视图范围。 换句话说,您不能使用视图范围在视图之间传输数据(在不同页面的请求之间)。

有关如何进行此转移的一个可能解决方案,请参阅此答案: p:commandButton在JSF 2中不执行f:setPropertyActionListener

顺便提一下,请注意, setPropertyActionListener对于您在此处所做的事情不是必需的。 您可以直接向您的操作方法提供数据:

<p:commandLink action="#{personRegisterController.selectPerson(person)}"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM