【问题标题】:component to self refresh in JSF在 JSF 中自我刷新的组件
【发布时间】:2012-12-31 23:14:10
【问题描述】:

我正在使用JSF和html表格创建一个表格组件(不涉及其他面孔表格),因此将集合作为参数并迭代并显示表格内容。

我有一个“删除”链接点击它应该删除项目,它工作正常。我现在的问题是删除项目后我需要自我刷新表格组件。

当我在渲染中使用@form 时,它起作用了。但是当将组件与任何页面集成时,这将是一个问题。任何人都有想法在单击“删除”链接时自行刷新表格组件?请提供您的想法。

      <a4j:commandLink id="removeSelection" actionListener="#{cc.attrs.rowRemoveEventListener}" render="@form #{cc.attrs.renderOnRemove}" styleClass="st-remove-link" onclick="">
        <f:param name="rowKey" value="#{rowKey}"/>
        <span class="link-text">Remove</span>
        <a4j:ajax event="click" render="#{cc.clientId}" />
      </a4j:commandLink> 

完整的组件标记:

    <div id="#{cc.clientId}">
      <--stylesheet link here-->
      <h:panelGroup id="simpletablepanel" layout="block">
        <a4j:outputPanel id="simpletablebody" layout="block">
        <table>
          <tr>
            <td>
               <span>value</span>
            </td>
            <td>
              <a4j:commandLink id="removeSelection"
                actionListener="#{cc.attrs.rowRemoveEventListener}"
                render=":#{cc.clientId} #{cc.attrs.renderOnRemove}">
                  <f:param name="rowKey" value="#{rowKey}"/>
                  <span>Remove</span>
              </a4j:commandLink>
            </td>
          </tr>
        </tbody>
      </ui:fragment>
    </table>
  </a4j:outputPanel>
</div>

【问题讨论】:

  • 您是否已经将组件包装在&lt;div id="#{cc.clientId}"&gt; 中? (见this
  • 是的,试过了。它只是刷新表单而不是组件本身。我删除了 并在 的渲染中传递了 #{cc.clientId}。仍然没有任何效果。
  • 能贴出完整的组件代码吗?
  • 您在 render 属性中添加了 : 的 clientId,这使其成为绝对组件路径,而不是您想要的。请改用render="#{cc.clientId}"
  • 抱歉,我尝试使用硬编码的 Id ,我删除了它并尝试了但仍然是相同的结果

标签: java jsf richfaces


【解决方案1】:

只需检查下面的链接,我希望你能找到一些东西..

In JSF 2 - Trying to rerender a panelgroup that is between 2 ui:repeats

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 2019-11-02
    • 2013-03-11
    • 2012-06-29
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    相关资源
    最近更新 更多