如何重新渲染使用

前端之家收集整理的这篇文章主要介绍了如何重新渲染使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经实现了一个由转发器创建的列表:
<ui:repeat value="#{projectData.paginator.list}" var="project">
  <h:outputText value="#{project.title}" />
</ui:repeat>

和一个过滤我的列表的按钮:

<h:commandLink action="#{overviewController.filterNew}">
<h:outputText value="Filter List" />
</h:commandLink>

那么在点击命令链接(使用AJAX)后,是否有一个简单的方法来渲染我的中继器:-)

我试过如下:

<f:ajax render="repeater">
ui:repeat id="repeater" value="#{projectData.paginator.list}" var="project">
  <h:outputText value="#{project.title}" />
</ui:repeat>
<f:ajax />


<h:commandLink action="#{overviewController.filterNew}">
<h:outputText value="Filter List" />
<f:ajax event="click" render="repeater"/>
</h:commandLink>

但那没办法

更新

<h:form>
ui:repeat id="repeater" value="#{projectData.paginator.list}" var="project">
  <h:outputText value="#{project.title}" />
</ui:repeat>

<h:commandLink action="#{overviewController.filterNew}">
<h:outputText value="Filter List" />
<f:ajax event="click" render="repeater"/>
</h:commandLink>
</h:form>

也不行…也许我想把动作方法(overviewController.filterNew)放入ajax标签

更新2

<f:ajax event="click" render="repeater">
    <h:commandLink action="#{overviewController.filterEBus}">
    <h:outputText value="EBusiness" />
    </h:commandLink>
    </f:ajax>

也不行!

也许是不可能重新安装中继器?还有另外一个元素,如div标签,还是可以重载的东西?

感谢您的帮助

< ui:repeat>本身不会向输出生成任何HTML. < f:ajax render>期望出现在HTML DOM树中的ID.把它放在< h:panelGroup>用id和引用它.
<h:form>
    <h:panelGroup id="projects">
        <ui:repeat value="#{projectData.paginator.list}" var="project">
            <h:outputText value="#{project.title}" />
        </ui:repeat>
    </h:panelGroup>
    <h:commandLink action="#{overviewController.filterNew}">
        <h:outputText value="Filter List" />
        <f:ajax execute="@form" render="projects" />
    </h:commandLink>
</h:form>
原文链接:https://www.f2er.com/ajax/159842.html

猜你在找的Ajax相关文章