3 回答

TA貢獻2021條經(jīng)驗 獲得超8個贊
取決于您是發(fā)送重定向還是僅瀏覽。
如果要發(fā)送重定向,則將其放入Flash作用域中:
Faces.setFlashAttribute("car", car);
@PostConstruct在下一個bean的中可用:
Car car = Faces.getFlashAttribute("car");
或者,如果您只是在導航,則將其放在請求范圍內(nèi):
Faces.setRequestAttribute("car", car);
@PostConstruct在下一個bean的中可用:
Car car = Faces.getRequestAttribute("car");
也可以看看:
將一個視圖范圍的bean注入另一個視圖范圍的bean會使它重新創(chuàng)建
如何在JSF中將對象從一頁傳遞到另一頁而無需編寫轉換器
請注意,我假設您非常了解這樣的設計選擇:擁有兩個完全獨立的視圖,而沒有另一個視圖就無法存在(等冪),而不是例如使用具有條件渲染內(nèi)容的單個視圖。而且,您已經(jīng)知道視圖在實際上被冪等請求時(例如,通過書簽,共享鏈接,搜索機器人等)應該如何表現(xiàn)。如果沒有,那么我強烈建議您仔細閱讀以下問題的答案:如何在JSF中導航?如何使URL反映當前頁面(而不是上一頁)。
更新:如果您不使用OmniFaces,請分別使用以下各項:
FacesContext.getCurrentInstance().getExternalContext().getFlash().put("car", car);
Car car = (Car) FacesContext.getCurrentInstance().getExternalContext().getFlash().get("car");
FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("car", car);
Car car = (Car) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("car");

TA貢獻1804條經(jīng)驗 獲得超2個贊
事情是,我還沒有成功地安裝Primefaces,據(jù)報道在這里,所以我下載primefaces-5.0.jar到WEB-INF/lib的文件夾。我可能搞砸了我的配置,這確實是第一次使用所有這些工具并使用Java EE。

TA貢獻1818條經(jīng)驗 獲得超8個贊
在運行時類路徑中缺少OmniFaces。顯然,Maven構建因某種原因失敗了。OmniFaces必須(與PrimeFaces一樣)最終位于/WEB-INF/lib
構建文件夾中。默認范圍(編譯)應該可以正常工作。
添加回答
舉報