Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jsf中render和reRender属性之间的差异_Jsf_Jsf 2 - Fatal编程技术网

jsf中render和reRender属性之间的差异

jsf中render和reRender属性之间的差异,jsf,jsf-2,Jsf,Jsf 2,jSf中render和reRender属性的区别是什么。我们可以将reRender与JSf核心库一起使用,还是只能与ajax4Jsf库一起使用。两者的功能是什么? <f:ajax event="change" render=":moons :suns" /> <a4j:support event="onchange" reRender=":moons, :suns" /> <p:ajax event="change" update=":moons, :

jSf中render和reRender属性的区别是什么。我们可以将reRender与JSf核心库一起使用,还是只能与ajax4Jsf库一起使用。两者的功能是什么?


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

1.注意这三个ajax调用。第一个是标准的JSF
ajax
,它属于
java.sun.com/JSF/core
,它使用
renders
属性来更新DOM中所需的组件

呈现-在Ajax请求后将更新的组件ID的空格分隔列表。(只有空格有效)


2.第二个属于RichFaces 3,请注意
事件
属性的差异

reRender-定义JSF组件id的属性,该组件在Ajax请求后应重新提交。。。还可以使用JSF EL表达式作为reRender属性的值。它可能是集合、集合、数组或简单字符串类型的属性。(逗号有效,不确定空格是否正确)

  • 在RichFaces 4中,
    reRender
    属性已重命名为
    render

3.第三个属于PrimeFaces,使用了
update
属性(我认为这三个属性中最有意义的名称)

更新-要使用ajax更新的组件。(空格和逗号有效)


因此,正如你所看到的,它们基本上做相同的工作,但在如何使用它们方面有细微的差异。不,你不能把它们混在一起。使用jsf/core进行
render
,使用Richfaces 3中的ajax4Jsf进行
reRender
,使用PrimeFaces组件进行
update
。请注意,在RichFaces4中,
reRender
属性已重命名为
render


与事件相关的内容-PrimeFaces和jsf/core使用实际的DOM事件名称(不固定),而RichFaces则使用前缀事件,例如
onchange
,而不是
change
。请注意,新的RichFaces 4(
替换了
事件
属性的工作原理与
事件
相同

JSF中没有
reRender
属性。这是富有面孔的一部分。