我目前在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会 总是保持它的状态 回到相同的观点。
请分享您的意见!
谢谢.....