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 :

ArgumentError avec ma Combo Box


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut ArgumentError avec ma Combo Box
    Bonjour,

    Je suis actuellement en train de développer un workflow à l'aide de jBoss jBPM mais je suis confronté à une erreur avec JSF que je n'arrive pas à corriger, ca fait 2 jours que je suis dessus et je commence à désespérer.

    Voilà, j'essaye de créer une combo box contenant les noms d'une table de ma base de données MySQL. Seulement j'ai un problème d'argument.

    Voici donc les différentes parties de mon code puis le message d'erreur en espérant que vous saurez me décoincer

    Voici la partie de mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        <jbpm:datacell>
     
          <f:facet name="header">
            <h:outputText value="Produit desire: "/>
          </f:facet>
     
    	  <h:selectOneMenu value="#{genList.value}">
    	  	<f:selectItems value="#{genList.items}" />
    	  </h:selectOneMenu> 
     
        </jbpm:datacell>
    Voici ensuite mon genList.java :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    public class genList {
     
    	private String value="";
    	private Connection conn;
     
    	public genList() {}
     
    	public String getValue() {
    		return value;
    	}
    	public void setValue(String value) {
    		this.value = value;
    	}
     
    	public Collection getItems() {
     
    		Collection items = new ArrayList();
    		SelectItem si = null;
     
    		try{
    			//-- Connexion
    		    Class.forName("com.mysql.jdbc.Driver");
    		    conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/databaseName", "root", " ");
     
    		    //-- Creation du statement et de la requete
    		    Statement stmt = conn.createStatement();
    		    String requete = null;
    		    requete = "SELECT ID_,NOM_ FROM materiel";
     
    		    //-- Execution de la requete
    		    ResultSet rs = stmt.executeQuery(requete);
     
    		    //-- Lecture des donnees
    		    while (rs.next())
    		    {
    		    	si = new SelectItem (String.valueOf(rs.getInt(1)), rs.getString(2));
    		    	items.add(si);
    		    }
     
    		    //-- Deconnexion
    		    conn.close();
    		} catch(Exception e){
    		    System.out.println("\n\n\nCONNEXION ECHOUEE: "+e+"\n\n\n");
    		    System.exit(-1);  
    		}
     
    		return items;
    	}
    }
    Voici ce que j'ai créé dans le Face Config (c'est tout ce que j'ai fais dans ce fichier) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
          <managed-bean-name>genList</managed-bean-name>
          <managed-bean-class>com.demande.action.genList</managed-bean-class>
          <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    Et finalement voici l'erreur que j'ai :

    Argument Error: An option for component j_id48 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList.

    (j_id48 étant le nom donné automatiquement à ma combo box.)

    Je ne comprends pas pourquoi cette erreur est présente et si l'un d'entre vous est capable de m'aider, j'en serais très reconnaissant.

    Merci pour votre attention et votre aide,

    Richard T.

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Je ne suis pas sûr d'avoir trouvé d'où provient cette erreur, mais tu peux toujours essayer de faire ces changements :
    • Utiliser les collections génériques de Java 5.0+ (si c'est possible)
    • Utiliser List<SelectItem> comme type de retour de getItems
    Ton code devient alors :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public List<SelectItem> getItems() {
    		
    		List<SelectItem> items = new ArrayList<SelectItem>
    ();
    		SelectItem si = null;
    		
    		try{
    			//-- Connexion
    		    Class.forName("com.mysql.jdbc.Driver");
    		    conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/databaseName", "root", " ");
    		   
    		    //-- Creation du statement et de la requete
    		    Statement stmt = conn.createStatement();
    		    String requete = null;
    		    requete = "SELECT ID_,NOM_ FROM materiel";
     
    		    //-- Execution de la requete
    		    ResultSet rs = stmt.executeQuery(requete);
     
    		    //-- Lecture des donnees
    		    while (rs.next())
    		    {
    		    	si = new SelectItem (String.valueOf(rs.getInt(1)), rs.getString(2));
    		    	items.add(si);
    		    }
    		    
    		    //-- Deconnexion
    		    conn.close();
    		} catch(Exception e){
    		    System.out.println("\n\n\nCONNEXION ECHOUEE: "+e+"\n\n\n");
    		    System.exit(-1);  
    		}
    		
    		return items;
    	}
    Voilà.

    P.S. : remarques que tu ne respectes aucunement le MVC dans ton code. Ce dernier est aussi non performant dans le sens où tu devrais te reconnecter à la base, y effectuer une requete et parcourir tous les enregistrements du résultat, et ce à chaque affichage de ta page ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Merci de ta réponse,

    J'ai toujours la même erreur

    Pour ce qui est de la "performance" du code, ce n'est pas ce que je recherche pour le moment, j'essaye simplement de faire fonctionner cette combo box. Une fois de plus j'obtient le même message d'erreur qui est :

    Argument Error: An option for component j_id48 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList.

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    T'es sur qu'aucune exception ne se produit avant ? je parles notamment des exceptions de JDBC ... peux tu s'il te plaît donner le StackTrace de l'exception ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    java.lang.IllegalArgumentException: Argument Error: An option for component j_id48 was not an instance of javax.faces.model.SelectItem.  Type found: java.util.ArrayList.
    	at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:336)
    	at com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:644)
    	at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:762)
    	at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:304)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:829)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:48)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:45)
    	at org.jbpm.webapp.tag.jbpm.ui.DataForm.renderCells(DataForm.java:117)
    	at org.jbpm.webapp.tag.jbpm.ui.DataForm.encodeChildren(DataForm.java:95)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:810)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:810)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:33)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:58)
    	at org.jbpm.webapp.tag.jbpm.ui.Tab.encodeChildren(Tab.java:112)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
    	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:578)
    	at org.jbpm.webapp.application.JbpmViewHandler.renderView(JbpmViewHandler.java:58)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
    	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:595)
    Voilà monsieur, en espérant que tu puisse m'aider. Encore merci pour ton aide

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    De rien, nous sommes là pour s'entraider.

    Bizarre ton problème.
    On va donc faire un peu de débogage pour voir ...
    ajoutes ceci juste avant return items :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      :
      :
      :
     
      for(SelectItem s : items){
        System.out.println(s);
      }
     
      return items;
    }
    pour voir ce que contient la liste.
    Normalement, ça devrait declencher une exception.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Ils sont bien la pourtant :



    Néanmoins il me semble qu'il y ait une nouvelle exception ensuite...

  8. #8
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Salut,

    Je ne sais pas si ca peux aider mais au lieu d'utiliser une Collection, as tu essayer de retourner item[] ou SelectItem[]?

    Bon courage,
    Tif

  9. #9
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    J'utilise les List est ça marche très bien avec le SelectOneMenu ...

    Sinon, juste pour voir, veux tu s'il te plaît sortir le selectOneMenu du <jbpm:datacell> ?
    Si ça marche pas, essaies aussi ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public List<SelectItem> getItems() {	
    	List<SelectItem> items = new ArrayList<SelectItem>();
    	SelectItem si;
    
    	for(int i=0;i<10;i++){
    	    	si = new SelectItem (i+"", i+"");
    	    	items.add(si);
    	} 
    
    	return items;
    }

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    J'ai tenté via un tableau de SelectItem comme me l'a proposé Tif, voici donc mon code (c'est un peu crado mais c'est vraiment pour tester) :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    public class genList {
     
    	private String value="";
    	private Connection conn;
     
    	public genList() {}
     
    	public String getValue() {
    		return value;
    	}
    	public void setValue(String value) {
    		this.value = value;
    	}
     
    	public SelectItem[] getItems() {
     
    		SelectItem[] items = null;
    		SelectItem si = null;
     
    		try{
    			//-- Connexion
    		    Class.forName("com.mysql.jdbc.Driver");
    		    conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/demande", "root", " ");
     
    		    //-- Creation du statement et de la requete
    		    Statement stmt = conn.createStatement();
    		    String compteur = null;
    		    String requete = null;
     
    		    compteur = "SELECT COUNT(*) FROM materiel";
    		    requete = "SELECT ID_,NOM_ FROM materiel";
     
    		    //-- Execution de la requete
    		    ResultSet rsCompt = stmt.executeQuery(compteur);
    		    rsCompt.next();
     
    		    items = new SelectItem[rsCompt.getInt(1)];
     
    		    ResultSet rs = stmt.executeQuery(requete);
     
    		    //-- Lecture des donnees
    		    int i=0;
    		    while (rs.next())
    		    {
    		    	si = new SelectItem (String.valueOf(rs.getInt(1)), rs.getString(2));
    		    	items[i] = si;
    		    	i++;
    		    }
     
    		    //-- Deconnexion
    		    conn.close();
    		} catch(Exception e){
    		    System.out.println("\n\n\nCONNEXION ECHOUEE: "+e+"\n\n\n");
    		    System.exit(-1);  
    		}
     
    		return items;
    	}
    }

    Voici l'erreur que ca me retourne désormais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(j_id48). Found [Ljavax.faces.model.SelectItem;.
    Et le stack trace pour les amateurs :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    java.lang.IllegalArgumentException: Expected a child component type of UISelectItem/UISelectItems for component type javax.faces.SelectOne(j_id48).  Found [Ljavax.faces.model.SelectItem;.
    	at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:357)
    	at com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:644)
    	at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:762)
    	at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:304)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:829)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:48)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:45)
    	at org.jbpm.webapp.tag.jbpm.ui.DataForm.renderCells(DataForm.java:117)
    	at org.jbpm.webapp.tag.jbpm.ui.DataForm.encodeChildren(DataForm.java:95)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:810)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:810)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:33)
    	at org.jbpm.webapp.tag.jbpm.ui.ComponentBase.doEncode(ComponentBase.java:58)
    	at org.jbpm.webapp.tag.jbpm.ui.Tab.encodeChildren(Tab.java:112)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
    	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:578)
    	at org.jbpm.webapp.application.JbpmViewHandler.renderView(JbpmViewHandler.java:58)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
    	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:595)
    Merci pour votre aide,

    djo.mos, j'essaye tout de suite tes propositions !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Une fois sorti du <jbpm:datacell> je n'ai plus d'erreurs mais le menu déroulant ne s'affiche plus du tout...

  12. #12
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Ca depend du tag parent ... par exemple, <h:datatable> n'accèpte que les <h:column> comme enfants et ignore le reste...

    C'est pas grave en tout cas, laisse la page tel qu'elle était avant et fais le changmenents dans le code (avec le for(i=0;i<10 ....).

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Argument Error: An option for component j_id48 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList.

    Toujours ce problème d'ArrayList

  14. #14
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Toujours dans la categorie "je fais des essais douteux, mais bon on sait jamais ca peut marcher", que dirais tu de tenter un petit UISelectItem[] au lieu du SelectItem[] de tout à l'heure?

    Bon courage,
    Tif

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Non, ca ne fonctionne pas non plus

  16. #16
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    As-tu pu avoir la preuve que le contenu des selectItem que tu fabrique est correct ?

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Non, c'est vrai !
    Mais comment puis je le tester ? Car ce sont des selectItem composé d'un ID et d'un libellé, comment je peux séparer ces 2 valeurs ?

  18. #18
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    sans te faire chier ;-)

    mets juste un System.out.println des deux valeurs que tu utilises pour construire ton select item.

    Sinon, autre élément, es-tu sûr que le point virgule ne soit pas nécessaire dans la requête que tu veux exécuter ? Je ne connais pas le driver JDBC de mysql, mais tous les autres que j'ai été amené à utiliser (DB2, Cache) nécessitaient ce caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    compteur = "SELECT COUNT(*) FROM materiel;";
    requete = "SELECT ID_,NOM_ FROM materiel;";

  19. #19
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Par défaut
    Citation Envoyé par abertaud
    sans te faire chier ;-)

    mets juste un System.out.println des deux valeurs que tu utilises pour construire ton select item.

    Sinon, autre élément, es-tu sûr que le point virgule ne soit pas nécessaire dans la requête que tu veux exécuter ? Je ne connais pas le driver JDBC de mysql, mais tous les autres que j'ai été amené à utiliser (DB2, Cache) nécessitaient ce caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    compteur = "SELECT COUNT(*) FROM materiel;";
    requete = "SELECT ID_,NOM_ FROM materiel;";
    Dernier point, l'objet ResultSet devrait normalement posséder une méthode qui te permet de connaître le nombre de résultats, ca t'éviterait d'exécuter une deuxieme requete de type "count (*)"

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Toujours pas

Discussions similaires

  1. Combo box avec deux liste en simultané
    Par olibara dans le forum Windows Forms
    Réponses: 0
    Dernier message: 22/01/2010, 13h33
  2. Combo box avec cellule liée
    Par andy38 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2008, 10h38
  3. Problème de combo box avec additem
    Par Mariquiqui dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/04/2008, 19h25
  4. [ Requete ] effectuer une requete avec la valeur d'un combo box
    Par Jeremie_Vi dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 28/06/2006, 15h36
  5. Problème avec addString() de combo-box
    Par Midou dans le forum MFC
    Réponses: 2
    Dernier message: 19/02/2006, 21h51

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