Bonjour à tous,
J'ai un problème de DuplicateID en JSF à cause du code suivant :
Dans un cas je passe dans le premier <c:when> et dans l'autre cas dans le deuxième, en fonction de la valeur de l'attribut "monAttribut".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <c:choose> <c:when test="#{monBean.monAttribut}"> // jsf ... </c:when> <c:when test="#{!monBean.monAttribut}"> // jsf ... </c:when> </c:choose/>
Dans chacun de ces <c:when>, j'ai des composants JSF qui ont le même ID. Je ne penserais pas que cela poserais problème étant donné que j'affiche l'un OU l'autre.
Pourtant j'ai l'erreur suivante :
Cela ne se produit pas au premier affichage de la page mais une fois que l'un des <c:when> a déjà été affiché et qu'une action entraîne l'affichage de l'autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ATTENTION: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1248513) threw exception java.lang.IllegalStateException: Component ID form1:mess has already been found in the view. See below for details.
En fait il s'agit d'un composant <h:messages> que j'affiche de manière différente en fonction de l'action que l'utilisateur vient d'effectuer.
Y a-t-il un moyen de pallier à cette erreur ?
Merci d'avance![]()
Partager