2011-03-02 53 views

回答

3

應用程序作用域Bean存儲在application map中,託管bean名稱作爲關鍵字。

所以,這應該這樣做:

FacesContext.getCurrentInstance().getExternalContext() 
    .getApplicationMap().put("managedBeanName", new Bean()); 

順便說一句,更深層次下的JSF佔地面積達在Servlet API,應用程序映射只是一個ServletContext屬性映射。有用的知道什麼時候發生,你只有ServletContext在你的手中。並且在同一行中,session map映射到HttpSession屬性和request mapHttpServletRequest屬性。分別將它們用於會話和請求範圍的bean。

+0

BalusC您曾經發布關於使用跨重定向的屬性/信息。你建議使用會話映射,然後用過濾器清除它。我認爲這篇文章的鏈接可能對某些人有幫助(我真的不能再找到那篇文章了,你張貼了太多的§||¬)。或者至少清理HttpSession並填充請求映射而不是執行FacesContext.getCurrentInstance似乎更好。 – Toskan 2011-04-26 16:12:01

+0

這個可能嗎? http://stackoverflow.com/questions/4610771/dynamic-chart-generation-pass-object-to-servlet-from-jsf-1-2無論如何,真正的解決方案取決於JSF版本和功能要求。 – BalusC 2011-04-26 18:54:48