0
我目前正在JSF Bean上使用ViewScope進行測試Viewscoped bean在返回相同視圖時不保留它的狀態?
我注意到了這種行爲。
有此按鈕:
<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方法被調用每一個提交,這意味着豆犯規保留它的狀態,儘管它actualy返回同一視圖。我想這是因爲redirectin的,所以我忽略它,並且按鈕變成是這樣的:
<p:commandButton value="Submit Data to Server"
ajax="false" update="debugPanel"
action="viewScope2.xhtml"/>
但儘管如此,該postconstruct方法被調用每一個提交,這是不desireable。
是否有可能有這樣的理想主義:
無論是明示或 (通過行動 方法的返回「myview.xhtml」通過屬性或 )implicily定義,無論是使用重定向 或者不是,當 返回到相同的視圖時,viewscoped bean將始終保留它的狀態 。
請分享您的觀點!
謝謝.....
您是否實現了http://stackoverflow.com/questions/5416070/jsf-2-and-post-redirect-get?這可能是原因。 – BalusC 2011-03-25 10:34:14
@BalusC:不,我沒有在這種情況下。由於沒有明確說明目標視圖,它仍然可以正常工作,這是原始帖子中的第一種情況。 – bertie 2011-03-26 02:20:52