J'ai lu le message précédent : La variable "total" de JSF ressemble à c:set dans JSTL. . Bien que la réponse suggère que le total devrait provenir du haricot de sauvegarde, j'ai un besoin réel de le faire dans la facette. Dans mon cas, je veux afficher un tableau de données de type livre de banque, dont chaque ligne est constituée d'une date, d'une description, d'un montant et d'un numéro d'identification. total cumulé . Les données proviennent d'un get JPA de type List<Entity>. Si je faisais le total dans le backing bean, je devrais itérer la liste, créer un modèle de données uniquement dans le but d'une propriété running-total. C'est en effet inefficace.
J'ai essayé :
<c:set var="sum" value="0.0" scope="view" />
<table>
<ui:repeat value="#{xxxBean.items}" var="item">
<tr>
<td><h:outputText value="#{item.date1}" /></td>
<td><h:outputText value="#{item.desc}" /></td>
<td><h:outputText value="#{item.amount}" /></td>
<c:set var="sum" value="${sum+item.amount}"/>
<td><h:outputText value="${sum}" /></td>
</tr>
</ui:repeat>
</table>
mais cela ne fonctionne pas, ${sum} se remet à zéro pour chaque ligne. Existe-t-il un autre moyen, à part la création d'un composant personnalisé ?