2011-03-02 53 views
1

我們正在嘗試將JS/XSLT應用程序重構爲JSF。我們使用CMS進行內容管理。技術:使用Mojarra的JSF 2.0,PrimeFaces 2.2.1和Tomcat 6.29 數據結構的組織如下: 有些網站。 網站包含頻道。 通道包含內容。 翻譯網站,頻道和內容。如何重現特定的友好URL?

中的URL看起來像: http://whatever/firstSite http://whatever/firstSite/aChannel http://whatever/firstSite/aChannel/aSubChannel/myGreatContent

這是誰在向用戶顯示的翻譯名稱。 siteName只出現一次,頻道可以出現多次,內容最多一次

目前,我們使用commandLinks。 動作調用更新應用程序的上下文並返回頁面標識。

現在我們要重現友好的URL並用h:link或outpulink(GET)替換commandlink導航(POST)。

我用JSF閱讀了一些關於FURL的內容,我看到了PrettyFaces的解決方案。

我可以使用靚麗的面板再現FURL,還是應該使用mysefl來實現(如在this article中解釋的那樣)?

並與h:link,我沒有看到actionListener或動作屬性,所以我怎麼可以更新我的上下文?

回答

2

我可以使用靚麗的面板再現FURL,還是應該由mysefl實現(如本文中的解釋)?

我肯定會推薦PrettyFaces。你最終得到的代碼和配置不那麼複雜。鏈接文章的頂部也提到了這一點。

並與h:鏈接,我沒有看到actionListener或動作屬性,所以如何我可以更新我的上下文?

<h:link>只接受導航結果,而不是URL。改爲使用<h:outputLink>

<h:outputLink value="firstSite/aChannel/aSubChannel">A sub channel</h:outputLink> 

至於調用的GET請求的操作,使用構造函數或與該視圖相關聯的bean的@PostConstruct

+0

對於H:鏈接我認爲使用結果像通道和使用f:PARAM並通過目標通道的id,就像你現在在你的文章中。但是對於PrettyFaces,我不知道該如何開始,您是否有針對我的情況的一些建議,暗示或資源? – 2011-03-02 23:36:01