第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在不使用GET參數(shù)的情況下在@ViewScoped bean之間傳遞對象

在不使用GET參數(shù)的情況下在@ViewScoped bean之間傳遞對象

慕慕森 2019-09-24 15:01:13
我有一個browse.xhtml瀏覽列表的位置cars,我想在details.xhtml按下“查看更多”按鈕時查看汽車的詳細信息。它們的支持bean分別@ViewScoped稱為BrowseBean和DetailsBean?,F(xiàn)在,我不希望用戶/客戶端在URL中看到汽車ID,所以我想避免使用GET參數(shù),如此處和此處所示。有什么辦法可以做到這一點?我將Mojarra 2.2.8和PrimeFaces 5和OmniFaces 1.8.1一起使用。
查看完整描述

3 回答

?
寶慕林4294392

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");


查看完整回答
反對 回復 2019-09-24
?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

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

查看完整回答
反對 回復 2019-09-24
?
弒天下

TA貢獻1818條經(jīng)驗 獲得超8個贊

在運行時類路徑中缺少OmniFaces。顯然,Maven構建因某種原因失敗了。OmniFaces必須(與PrimeFaces一樣)最終位于/WEB-INF/lib構建文件夾中。默認范圍(編譯)應該可以正常工作。

查看完整回答
反對 回復 2019-09-24
  • 3 回答
  • 0 關注
  • 419 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號