2014-04-30 210 views
5

jSf中render和reRender屬性的區別是什麼?我們可以將reRender與JSf Core庫一起使用,還是隻能與ajax4Jsf庫一起使用,它們的功能是什麼?jsf中render和reRender屬性的區別

+0

JSF中沒有'reRender'屬性。它是Rich Faces的一部分。 – EJP

回答

7
<f:ajax event="change" render=":moons :suns" />  
<a4j:support event="onchange" reRender=":moons, :suns" /> 
<p:ajax event="change" update=":moons, :suns" /> 

注意這三個Ajax調用。第一個是標準的JSF ajax,它屬於java.sun.com/jsf/core它使用renders屬性來更新DOM中所需的組件。

render - 在Ajax請求後將更新的組件的ID的空格分隔列表。(僅空格有效)


2.第二個屬於RichFaces的3,請注意event屬性的差

重新呈現 - 屬性,它定義JSF的ID(S)在Ajax請求之後應該重新渲染的組件。 ...也可以使用JSF EL表達式作爲reRender屬性的值。它可能是Set,Collection,Array或簡單字符串類型的屬性。(逗號是有效的,不是空格不確定)

  • 在RichFaces的4 reRender屬性已更名爲render

第三個屬於PrimeFaces並使用update屬性(在我看來這三個最有意義的名字)

upda te - 使用ajax更新組件。(空格和逗號是有效的)


所以,你可以看到他們基本上做同樣的工作,在如何使用這些細微的差別。不,你不能混用它們。在jsf/core中使用render,在Richfaces 3中使用ajax4Jsf,在update中使用帶PrimeFaces組件的reRender。請注意,在RichFaces 4中,reRender屬性已重命名爲render

關注事件 - PrimeFaces和jsf/core使用實際的DOM事件名稱(前綴不明確),另一方面RichFaces使用前綴事件,例如。 onchange而不是change。請注意,新的RichFaces 4(<a4j:ajax>替換爲<a4j:support><a4j:ajax>event屬性的工作原理與<f:ajax>event相同。

相關問題