2010-06-11 50 views
1

我有一個包含頁面,這是一個導航菜單。當我點擊這些菜單時,我想刷新某個頁面的佈局內容區域。如何傳遞的頁面名稱爲使用JSF頁面包括標籤JSF運行時頁面傳遞

我不想要切換到小面,也是我嘗試使用$和調用後臺bean的方法。它的工作原理,但沒有任何CSS或Richfaces組件呈現正確。

感謝 拉吉

+1

你真的在JSP上使用JSF 2.0嗎? – BalusC 2010-06-11 11:47:44

+0

是的。 JSF 2.0和Rich面向3.x。我只是想將頁面名稱傳遞給jsp include tag @運行時間 – Rajesh 2010-06-11 11:56:25

回答

1

我不知道有關RichFaces的一部分,但是你可以使用EL在<jsp:include>爲好。

<jsp:include page="/WEB-INF/#{bean.pagename}.jsp" /> 

如果bean.getPagename()回報例如home,那麼這將包括/WEB-INF/home.jsp。您還需要確保home.jsp的JSF/HTML內容被一個帶有唯一ID的<f:subview>包裝。

至於CSS的問題,只要確保生成的HTML validates和CSS導入<link>標籤都是有效的。

+0

我試過這個 這就是我在瀏覽器中得到的 - 請求的資源/cdclassifieds/members/#{panelMenu.current})不可用 請幫忙 – Rajesh 2010-06-11 12:57:56

+0

您是否聲明'web.xml'是Servlet 2.5?這聽起來好像是Servlet 2.4。那麼模板文本中的統一EL確實不會被解析。我會更新'web.xml'以符合Servlet 2.5(如果您的應用程序服務器支持它)。你也可以使用'$ {panelMenu.current}',但是如果它是一個要創建的請求範圍的bean,那麼你還需要確保你在調用'#{panelMenu.xxx}用'$ {}'''jsp:include'行。如果未創建,JSF將創建該bean。 '$ {}'即不會那樣做。 – BalusC 2010-06-11 13:13:20

+0

另見本文http://balusc.blogspot.com/2007/01/dynamic-jsf-subviews.html – BalusC 2010-06-11 13:20:33