2014-04-01 24 views
0

我創建了一個嚮導(p:嚮導),用戶可以在其中定義他的個人資料。在其中一個嚮導的選項卡中,用戶可以上傳他的個人資料照片。該照片將在最後的嚮導步驟中呈現。所以,我的問題是,我應該使用什麼範圍?我嘗試過查看,但p:graphicImage與動態圖像不適用於視圖範圍(將引發npe,因爲渲染圖像時發出兩個請求)。我嘗試了請求,但在嚮導中單擊下一步/返回時,會發出一個新請求,並且我以前輸入的所有數據都會丟失(bean被重新初始化)。最後,我已經把會話範圍,它的工作原理。我不是Session範圍的忠實粉絲,因爲這個bean仍然在範圍內,直到會話失效/過期。什麼是正確的方法?使bean無效?具有動態圖像的Primefaces嚮導:使用什麼範圍?

FacesContext context = FacesContext.getCurrentInstance(); 
context.getExternalContext().getSessionMap.put("#{MySessionBean}", null); 

「銷燬」會話bean是否符合「道德」的要求?我應該創建一個reset()方法,使他的所有屬性爲空? (Bean仍將保持在會話中)。

+0

@Oskars Pakers我知道p:嚮導使用ViewScope,我無法使用它的原因是因爲我有一個呈現dinamicaly的。 – snooperman

回答

0

關於primefaces精靈組件:

由於primefaces精靈組件是可以使用ViewScoped管理bean來存儲信息的單一視圖。

關於會話範圍

Herehere是關於會話bean的範圍破壞良好的線程。 簡介:在設計合理的Web應用程序中,永遠不應該需要手動終止作用域。