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 :
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 <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 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
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; } }
Et finalement voici l'erreur que j'ai :
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>
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.
Partager