【问题标题】:difference between render and reRender attributes in jsfjsf中render和reRender属性的区别
【发布时间】:2014-06-16 12:10:30
【问题描述】:

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

【问题讨论】:

  • JSF 中没有 reRender 属性。它是 Rich Faces 的一部分。

标签: jsf jsf-2


【解决方案1】:
<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 中所需的组件。

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


2.第二个属于RichFaces 3,注意event属性的区别

reRender - 定义应该在 Ajax 请求后重新呈现的 JSF 组件的 id 的属性。 ... 也可以使用 JSF EL 表达式作为 reRender 属性的值。它可能是 Set、Collection、Array 或简单 String 类型的属性。(逗号有效,不确定空格)

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

3. 第三个属于 PrimeFaces 并使用 update 属性(在我看来是这三个中最有意义的名称)

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


如您所见,它们基本上做同样的工作,只是在使用方式上略有不同。不,你不能混合它们。 render 与 jsf/core 一起使用,reRender 与 Richfaces 3 中的 ajax4Jsf 一起使用,update 与 PrimeFaces 组件一起使用。请注意,在 RichFaces 4 中,reRender 属性已重命名为 render

关注事件 - PrimeFaces 和 jsf/core 使用实际的 DOM 事件名称(无前缀),而 RichFaces 则使用前缀事件,例如。 onchange 而不是 change。请注意,新的 RichFaces 4(&lt;a4j:ajax&gt; 替换了&lt;a4j:support&gt;&lt;a4j:ajax&gt;event 属性与&lt;f:ajax&gt;event 的作用相同。

【讨论】:

    猜你喜欢
    • 2014-01-20
    • 2013-03-08
    • 2013-12-07
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    相关资源
    最近更新 更多