2012-02-09 40 views
1

我有一個jsf 1.2應用程序,我需要顯示一個具有輔助bean的頁面(jsp)。我看到的大多數示例都顯示了用戶編輯的空白jsp。在我的情況下,我需要在jsp加載之前從數據庫獲取一些數據,如何完成此操作?在顯示頁面和共享多個頁面之前訪問busniess邏輯

我試着支持bean方法的@postconstruct,但如果我與多個JSP共享此bean,它正在初始化所有頁面的信息,我需要不同的數據用於不同的頁面,並且每個頁面都應該在顯示之前從db讀取一些數據JSP。

我來自Struts背景,我將調用Action的URL,它將調用業務邏輯來獲取數據,然後我將直接指向JSP。對於JSF來說,它看起來不是非常簡單。

回答

2

我試圖@PostConstruct在後臺bean的方法,但如果我分享這個bean有多個JSP它初始化所有頁面的信息,我需要爲不同的頁面不同的數據,每個頁面應該從數據庫中的一些數據然後在JSP中顯示。

頁(視圖)應該有它自己的請求/視圖作用域確定輔助bean這是不別處共享。這應該解決你的「問題」(這實際上只是一個設計問題)。不要爲多個視圖使用單個會話作用域bean。這是會話範圍的錯誤使用。


我從Struts的背景下,我將調用的URL,這將調用有業務邏輯來獲取數據,然後我就直接到JSP的行動來。對於JSF來說,它看起來不是非常簡單。

JSF和Struts有很大的不同。 JSF是一個基於組件的MVC框架,而Struts是一個基於動作的MVC框架。在設計Struts操作類時,不應該設計JSF支持bean類。閱讀一些體面的JSF教程應該會讓你走上正軌。有關概述,另請參閱our JSF wiki page的底部。

請注意,JSF 1.2完全過時。 JSF 2.0已經在2年前發佈了。如果這是一個新的應用程序或者只是懶散,我建議忘記JSF 1.2並繼續使用JSF 2.0。

+0

Thanks @BalusC我接受了你的答案,再次感謝! – 2012-02-09 23:42:31

相關問題