ajax - 如何重新渲染 <ui :repeat> using <f:ajax render>

标签 ajax jsf jsf-2 uirepeat

我已经实现了一个由中继器创建的列表:

<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>

关于ajax - 如何重新渲染 <ui :repeat> using <f:ajax render>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547581/

相关文章:

variables - 具有可变参数的 JSF 操作方法

regex - JSF 2.0 validateRegex 带有自己的验证器消息

java - 单击时如何更改图像链接的CSS?

angularjs - 预检响应中的 Access-Control-Allow-Headers 不允许请求 header 字段 Pragma

php - 我应该在 CouchDB/Ajax 应用程序中使用 PHP 中的数组还是对象?

node.js - 如何在每次获得新的数据库条目时更新 html 而无需重新加载页面

javascript - Primefaces 4.0 尝试调用错误的 tabChange 事件处理程序(TabView 内的 AccordionPanel)

JSF 在页面加载之前调用 bean 方法

javascript - ajax返回值不起作用

java - 链接两个 Java 项目时找不到类异常