我發現了一些由BalusC(urs的粉絲)和其他人在堆棧溢出發表的一些帖子,並沒有找到解決方案,這似乎是許多人想要做的事情。如何:部分憤怒與jsp2/facelets /模板與菜單驅動主要內容刷新只有刷新?
如果我有一個小面/模板結構就是這樣,一個左側導航 與開什麼在主要內容的區域中顯示被鏈接,但沒有做 一個完整的頁面刷新,我只是想主要區域更新,如何我要這樣做嗎?
------------------------------------- | link1 | show content for link1 | | link2 | when link1 is clicked | | link2 | in left navigation area | | | | -------------------------------------
我看到primefaces展示左點擊菜單項時做了整頁刷新,而奇怪的是,在richfaces4展示不對,雖然我在看的代碼無法理解,只是還沒有。有沒有一個例子可以告訴我如何做到這一點?
這裏是我的代碼
uiTemplate.xhtml(主模板)
<div>
<div id="left">
<ui:include src="navigationMenu.xhtml"/>
</div>
<div id="center_content" class="center_content">
<ui:insert name="center_content" />
</div>
</div>
然後我navigationMenu.xhtml看起來像
<ui:composition>
<rich:collapsiblePanel header="ClickMe" switchType="client">
<h:link outcome="page1" value="goto page1" /><br />
<h:link outcome="page2" value="goto page2" /><br />
<h:link outcome="page3" value="goto page3" /><br />
</rich:collapsiblePanel>
</ui:composition>
,並且將出現在中心的一個頁面內容區域,希望加載 而不需要對所有部分進行完整刷新。
我想我需要一些 f:ajax標籤或使用h:commandLink作爲上面的這些鏈接,但是還沒有找到一個好的 的例子。我看到一堆關於Mojarra 2.1.x修復動態包括的帖子,但是不知道是否與此相關,除非這是完成此操作的唯一方法。
page1.xhtml
<ui:composition template="./uiTemplate.xhtml">
<ui:define name="center_content">
page 1 content
</ui:define>
</ui:composition>
看到這篇文章的結尾http://stackoverflow.com/questions/7746221/how-to-do-partial-page-rendering-center-content-with-jsf2-templating-via-ajax/最後得到它的工作。 – user825402