jSf中render和reRender属性的区别是什么。我们可以将reRender与JSf Core库一起使用,或者它只能与ajax4Jsf库一起使用。两者的功能是什么?。
答案 0 :(得分:9)
<f:ajax event="change" render=":moons :suns" />
<a4j:support event="onchange" reRender=":moons, :suns" />
<p:ajax event="change" update=":moons, :suns" />
1。请注意这三个ajax调用。第一个是属于ajax
的标准JSF java.sun.com/jsf/core
,它使用renders
属性来更新DOM中所需的组件。
呈现 - 在Ajax请求之后将更新的组件的以空格分隔的ID列表。(仅空格有效)
2。第二个属于RichFaces 3,请注意event
属性
reRender - 属性,用于定义在Ajax请求后应重新呈现的JSF组件的ID。 ...也可以使用JSF EL表达式作为reRender属性的值。它可能是Set,Collection,Array或simple String类型的属性。(逗号有效,不确定空格)
reRender
属性已重命名为render
3. 第三个属于PrimeFaces并使用update
属性(在我看来,这三个属性中最有意义的名称)
更新 - 要使用ajax更新的组件。(空格和逗号有效)
因此,您可以看到他们基本上做同样的工作,但在如何使用它们方面存在细微差别。不,你不能混合它们。将render
与jsf / core一起使用,reRender
与Richfaces 3中的ajax4Jsf一起使用,update
与PrimeFaces组件一起使用。请注意,在RichFaces 4中,reRender
属性已重命名为render
。
关注事件 - PrimeFaces和jsf / core使用实际的DOM事件名称(未加前缀),RichFaces另一方面使用前缀事件,例如。 onchange
而不是change
。请注意,新的RichFaces 4(<a4j:ajax>
替换<a4j:support>
)<a4j:ajax>
的{{1}}属性与event
&#39; s {相同{1}}。