2013-10-15 139 views
0

我有一個JSF 2.0應用程序,其中每個頁面都存儲在數據庫的cms_page表中。該表具有PK列cms_page_id和一個URL列(其中包含SEO友好的URL)。通過編號加載JSF頁面

當我顯示一個頁面有一個叫做關於我們友情連接,它具有URL「/com/aboutus.html」 這出現在我的XHTML文件: #{} cmsPage.cmsPageUrlName />

其中呈現 <a href="/com/aboutus.html">About Us</a>

據我所知h:outputLink不能用於觸發輔助bean中的任何方法。 我無法使用h:commandLink,因爲當您將鼠標懸停在鏈接上時,它不會顯示「/com/aboutus.html」網址。我無法弄清楚如何觸發輔助bean方法來導航到下一頁。 關於我們的鏈接真的會去/faces/pages.xhtml,但會用PrettyFaces來顯示「/com/aboutus.html」的網址

另外,如果我直接去URL www.test.com/com/aboutus.html? 這個URL不存在,實際的URL將是www.test.com/faces/pages.xhtml?url=%2Fcom%2Faboutus.html 我應該看看設置PrettyFaces來完成所有的工作嗎?

回答

0
  1. 創建的DatabaseConnection
  2. 從數據庫中讀取
  3. 列寫列到你的JSF頁面

請看一看JSF/JPA文檔或教程來解決這個問題。

0
<ui:include src="#{cmsPage._url}" /> 

ManagedBean名稱

@ManagedBean(name="cmsPage") 
@SessionScoped 
class Cms_Page{ 
    private String _pageId; 
    private String _url; 

    //getter setter 
} 

使用自定義的方法來從DAO獲取和設置內部Cms_Page值

+0

我明白你在做什麼,在這裏,但在頁面加載時,該網址會(例如)/faces/page.xhtml – user1024941

+0

這是您的歡迎頁面,但您可以在從數據庫獲取值後重定向您想要的頁面。 – BholaVishwakarma

+0

我更新了說明。我需要知道如何使用僅h:outputlink – user1024941