Comment re-rendre <ui:repeat> à l'aide de <f:ajax render>

J'ai mis en place une liste créée par un répéteur:

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

et un Bouton filtres à ma liste:

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

Alors, est-il un moyen facile de rendre uniquement mon répéteur après avoir cliqué sur le lien de commande (avec AJAX) 🙂


J'ai essayé suivantes:

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

mais cela ne fonctionne pas..


Mise à jour

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

ne fonctionne pas non plus... Peut-être que je vha de mettre la méthode action (overviewController.filterNew) dans l'ajax tag?


Mise à jour 2

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

Ne fonctionne pas!!!!


Peut-être qu'il n'est pas possible alors rendre à nouveau un répéteur ? est-il un autre élément comme une balise div ou quelque chose qui peut être réaffichées???

...

Merci pour votre aide

Peut-être que je vha de mettre la méthode action (overviewController.filterNew) dans l'ajax de balise? - essayer, pourquoi pas?
Ne fonctionne pas non plus! Si personne ne voit une erreur peut-être il ya un jsf/ajax bug?

OriginalL'auteur Sven | 2010-08-23