[PrimeFaces 3.2 / JSF 2] Identifiants dynamiques
Bonjour à tous,
Je développe actuellement une application avec JSF 2 et Primefaces 3.2.
Dans l'une de mes pages, j'ai ce morceau de code :
Code:
1 2 3 4 5 6 7 8 9
|
<ui:repeat value="#{list}" var="objet" varStatus="status">
<p:dataTable id="data#{status.id}" ...>
...
<p:rowExpansion>
...
</p:rowExpansion>
</p:dataTable>
</ui:repeat> |
Sur ma page j'ai donc par exemple plusieurs tableaux de plusieurs lignes générés.
Lorsqu'un seul tableau est généré, je n'ai aucun soucis particulier, les <p:rowExpansion> marchent sans soucis. Mais lorsque j'ai par exemple 2 tableaux, c'est la catastrophe. les <p:rowExpansion> du second tableau sont en fait un <p:rowExpansion> du premier tableau...
Je pense que c'est un problème d'identifiant. En effet, les identifiants qui sont générés automatiquement par PrimeFaces sont les mêmes pour mes 2 tableaux.
J'aimerais donc pouvoir géré dynamiquement les identifiants de mes dataTables, mais je n'y arrive absolument pas.
Par exemple avec le code suivant tous les dataTables ont l'id "data" :
Code:
1 2 3 4
| <ui:repeat value="#{list}" var="objet" varStatus="status">
<p:dataTable id="data#{status.index}" ...>
</p:dataTable>
</ui:repeat> |
Avec le code suivant, j'obtiens une erreur :
Code:
1 2 3 4
| <ui:repeat value="#{list}" var="objet" varStatus="status">
<p:dataTable id="#{status.index}" ...>
</p:dataTable>
</ui:repeat> |
Voici l'erreur : java.lang.IllegalArgumentException: Empty id attribute is not allowed
Comment peut-on générer dynamiquement un identifiant ?
Merci d'avance pour votre aide !