IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Duplicate component found in view


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut Duplicate component found in view
    Bonjour,

    Depuis quelques jours, je galère avec le problème "Duplicate component ID..." dans une page jsp où j'essaie de charger un datatab.J'ai trouvé plusieurs discussions sur Internet qui me disent que le problème arrive quand je ne donne pas d'ID spécifique à chaque composant mais je laisse JSF créer les id tout seul. J'ai depuis essayé d'affecter un id a chaque composant que ce soit le tableau, les colonnes, les output texte...mais le problème persiste.
    Je crois que que c'est plutôt sur les lignes que l'id est dupliqué et non pas sur les colonnes. Je ne sais pas comment donner un id aux lignes car les lignes sont créées dynamiquement.

    Est ce que quelqu'un peut m'aider ?

    Merci beaucoup!!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Je viens de trouver un morceau de codes qui doit répondre à mes recherches.
    A demain

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    normalement l'erreur mentionne le composant en question. Pourrais-tu nous donner le nom du composant ainsi que ton jsp?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Bonjour,

    Voici l'erreur :
    java.lang.IllegalStateException: Duplicate component ID 'ulform:tabuser:_id17' found in view.


    et le code du jsp.. (ça ne fait que quelques jours que je travaille avec JSF )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <%@ taglib uri="http://soc/frmw/jsf" prefix="pfx" %>
    ....
     
    <pfx:dataTable id="tabuser" binding="#{userCtrl.boundDataTable}" mode="1" rows="20" value="#{userCtrl.listuserBean}" 
    	 pageBinding="#{userCtrl.page}" var="item" action="#{userCtrl.listeruser}"> 
    	<pfx:column id="col1">  
    		<pfx:columnHeaderFacet id="chf1"> 
    			<pfx:columnHeader id="clhead1" columnName="ident" value="ident" > </pfx:columnHeader> 
    		</pfx:columnHeaderFacet>
    			<pfx:commandLink id="cdelink" action="#{userCtrl.getDetail}">
    				<h:outputText id="txt1" value="#{item.ident}" />
    			</pfx:commandLink> 
    	</pfx:column>
    	<pfx:column id="col2">  
    	   	<pfx:columnHeaderFacet id="chf2">
    	        	<pfx:columnHeader id="clhead2" columnName="nom" value="Nom" > </pfx:columnHeader>
    		</pfx:columnHeaderFacet> 
    		      	<h:outputText id="txt2" value="#{item.nom}" /> 
    	</pfx:column> 
    	<pfx:column id="col3">  
    	    	<pfx:columnHeaderFacet id="chf3">
    	        	<pfx:columnHeader id="clhead3" columnName="prenom" value="Prénom" > </pfx:columnHeader>
    	      	</pfx:columnHeaderFacet> 
    		      	<h:outputText id="txt3" value="#{item.prenom}" /> 
    	    </pfx:column> 
    </pfx:dataTable>
    Merci!!

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    vu l'erreur, soit ta datatable est inclue dans autre chose (exemple une boucle jstl) et c'est toute la datatable qui est dupliquée, soit c'est le composant pfx:dataTable qui déconne et crée deux fois certians de ses enfants. Comme c'est un composant que je ne connais pas, va falloir que t'aille vois dans ses trippes

    (normalement, un composant jsf, meme de type datatable, ne crée pas lui même d'autres composants)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Autant pour moi, je ne t'ai pas tout dit!!
    J'allais le préciser mais j'ai oublié...

    oui le dataTable de JSF est encapsulé dans un framework maison mais on ne modifie pas grande chose par rapport au tag de base JSF. On ajoute juste quelques petits trucs comme le tri...

    En fait l'erreur se produit parce je rappelle la même page plusieurs fois.
    Quand je clique sur le bouton rechercher, ça m'initialise la table.
    Comme mon backing bean est de scope request, quand je clique que la page suivante, j'affiche à nouveau la même page et la table est réinitialisée...

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si tu remplace par une datatable de base, ca donne quoi?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    OK, j'ai essayé de remettre le tag dataTable de JSF mais du coup je perds l'attribut action pour mettre la methode qui fait la pagination donc je ne peux pas tester le cas que je veux

    Je pense que cela doit tourner au tour des règles de navigation ...JSF ne construit pas le même arbre en fonction de ce qu'on met dans le faces-config.xml!

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    l'arbre est construit par les tags jsp. Cet arbre est sauvé dans la session de l'utilisateur et conservé jusqu'à déconnection de celui-ci. Donc lors de la deuxième requete, l'arbre est restoré et non pas reconstruit. Dans le cas d'utilisation JSF+JSP, ce sont les tags jsp qui sont chargés d'avoir un comportement différent suivant qu'on est en create view ou en resotre view (donc vérfiie si possible que ton tag jsp le gère bien). Avec ta page de base, que se passe-t-il si tu fait ceci:

    navigation jusque la page contenant ton datatable étendu
    rechargement de la page

    peux-tu nous montrer peut etre le code complet du jsp?

Discussions similaires

  1. Seam component not found
    Par jewelz dans le forum Seam
    Réponses: 1
    Dernier message: 29/05/2008, 16h25
  2. Connexion IRport et Hibernate (component class not found)
    Par imad.elghazoini dans le forum iReport
    Réponses: 4
    Dernier message: 29/06/2007, 11h51
  3. Edition de lien : duplicate symbol found
    Par BainE dans le forum C
    Réponses: 4
    Dernier message: 08/02/2007, 15h53
  4. No renderer found for component
    Par babalastar dans le forum JSF
    Réponses: 1
    Dernier message: 18/12/2006, 14h19
  5. Component not found
    Par Pm dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo