返回到同一视图时,Viewscoped bean不保留其状态?

时间:2011-03-25 08:37:43

标签: jsf jsf-2

我目前在JSF Bean上测试使用ViewScope

我注意到了这种行为。

拥有此按钮时:

<p:commandButton value="Submit Data to Server" 
    ajax="false" update="debugPanel" />

我可以看到postconstruct只发生一次,并且由此按钮触发的提交触发postconstruct,这是正确的,因为它返回到同一视图。

但是当我添加修改我的按钮时:

<p:commandButton value="Submit Data to Server" 
    ajax="false" update="debugPanel" 
    action="viewScope2.xhtml?faces-redirect=false"/>

我可以看到每次提交都会调用postconstruct方法,这意味着bean不会保留它的状态,尽管它实际上会返回到同一个视图。我认为这是因为redirectin,所以我省略了它,按钮变成这样:

<p:commandButton value="Submit Data to Server" 
    ajax="false" update="debugPanel" 
    action="viewScope2.xhtml"/>

但是,每次提交都会调用postconstruct方法,这是不可取的。

是否有可能拥有这种理想主义:

  

无论是明确的还是   隐含地定义(通过属性或   通过返回“myview.xhtml”的行动   方法),是否使用重定向   或者不是,viewscoped bean会   总是保持它的状态   回到相同的观点。

请分享您的意见!

谢谢.....

1 个答案:

答案 0 :(得分:0)

基本上所有这些问题都已在此entry中得到解答。谢谢!