2010-10-25 205 views
2

我從JSF 1.2移動到JSF 2.0,似乎我在交換過程中遺漏了一些東西。我有以下情形:通過FacesContext傳遞請求參數

  1. 有一個頁面上的一個按鈕的ActionListener設置爲一個管理bean的方法,通過調用FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("foo", fooObject);
  2. 導航增加了一個對象請求妥善處理,其他頁面,其他託管bean初始化。
  3. 其他託管bean的構造函數嘗試通過調用FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("foo");從請求中檢索傳遞的對象,並使用接收的值初始化它自己。

這兩個託管的bean都是請求作用域。我注意到構造函數不能從請求中檢索正確的值,因爲請求映射不包含「foo」鍵。

我在做什麼錯?有一個更好的方法嗎?

在此先感謝。

回答

4

在步驟2中,如果有重定向,初始請求範圍將丟失,因爲重定向會導致另一個請求。

+0

謝謝您的回覆。是的,你是對的。 faces-config.xml中有元素,當我刪除它時,參數被正確傳遞。 – Vladimir 2010-11-02 08:32:36

+0

謝謝你的知識。非常感激。 – 2015-04-28 10:30:55