Im使用Mojarra 2.1.3,Netbeans 7.0.1,primefaces 3.2。JSF2.0 State_Saving_Method客戶端問題
我目前處於困境是否使用STATE_SAVING_METHOD客戶端或服務器。目前我將保存方法設置爲客戶端。這涉及到我對許多對象的可縮放性進行調整。並將暫態關鍵字放在無狀態的外觀會話bean上。
@ManagedBean
@ViewScoped
public class SaProductController implements Serializable {
@EJB
transient SaProductFacade saProductFacade;
@EJB
transient SaKeywordFacade saKeywordFacade;
....
我的xhtml頁面有一個帶有分頁的primefaces數據表。第一次通過顯示數據表中的第一頁來加載它工作的頁面。但是,在點擊下一頁時,這行會引發NullPointerException錯誤。
data = saProductFacade.selectAll(first, pageSize);
這是爲什麼?是否因爲saProductFacade @EJB屬性被聲明爲transient,並且在回發到同一頁面時被銷燬。無論如何,ViewScoped託管bean仍然活着。請幫忙,如何解決這個問題?還是我做錯了?
有關信息,如果將STATE_SAVING_METHOD設置爲服務器,則此功能完美。但瀏覽器後退按鈕的危險使我決定去客戶端狀態保存選項。此外,服務器上的內存限制也保證了客戶端狀態保存。