相关疑难解决方法(0)

通过ajax重新渲染复合组件

我构建了一个复合组件,看起来像这样:

<composite:interface>
  <composite:attribute name="id" required="false" />
  <composite:attribute name="label" required="true" />
</composite:interface>

<composite:implementation>
  <h:panelGroup id="#{cc.attrs.id}">
    <fieldset class="fieldset"><legend>${cc.attrs.label}</legend></fieldset>
  </h:panelGroup>  
</composite:implementation>
Run Code Online (Sandbox Code Playgroud)

竞争者正确显示当前标签.

<xyz:comp id="idMyComponent" label="#{someBean.text}"/>

...
<a4j:ajax ... render="idMyComponent" />
...
Run Code Online (Sandbox Code Playgroud)

现在当采取行动时,没有任何事情发生.但是,当我在组件中的ID中添加Postfix时,它可以正常工作(见下文).

...
<composite:implementation>
      <h:panelGroup id="#{cc.attrs.id}Label">
...
Run Code Online (Sandbox Code Playgroud)

并使用后缀定义渲染中的ID:

<xyz:comp id="idMyComponent" label="#{someBean.text}"/>

...
<a4j:ajax ... render="idMyComponentLabel" />
...
Run Code Online (Sandbox Code Playgroud)

有些人可以向我解释为什么只有当我在ID中添加后缀时它才有效h:panelGroup

ajax composite-component jsf-2

1
推荐指数
1
解决办法
2768
查看次数

标签 统计

ajax ×1

composite-component ×1

jsf-2 ×1