我正在尝试在两个页面之间导航,将对象作为参数传递。调用者页面和目标页面使用相同的bean。我不想因为几个原因使用会话范围,然后我正在使用ViewScoped。
我的代码如下所示:
<p:commandButton id="add" value="Insert new country" action="addcountry">
<f:setPropertyActionListener value="#{countryControllerBean.newCountry()}" target="#{countryControllerBean.country}" />
</p:commandButton>
单击该按钮,执行newCountry()方法并初始化并返回新对象“country”,但加载addcountry页面时,不会初始化该属性。如何在目标页面中捕获“country”值?
PS: 我知道我可以通过viewAction初始化目标页面上的“country”对象,如下所示:
<f:metadata>
<f:viewAction action="#{countryControllerBean.newCountry()}" />
</f:metadata>
但是我无法使用初始化对象所需的先前视图上的值。