Salut je débute en JSF j'ai pas encore les bons réflexes, j'ai vu que l'on pouvait utiliser une table de données, ça tombe bien j'ai une liste de catégories a faire :
Avec mon bean listeCategoriesAdmin déclaré dans la vue (view) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <html:dataTable var="categorie" value="#{listeCategoriesAdmin.categories}"> <div><html:outputText value="#{categorie.categorie}"></html:outputText></div> </html:dataTable>
(ListeCategoriesAdmin.java)
et la classe parente Categories.java qui s'occupe d'initialiser la List :
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 package beans; import java.io.Serializable; /** * * @author pj */ public class ListeCategoriesAdmin extends Categories implements Serializable { /** Creates a new instance of ListeCategoriesAdmin */ public ListeCategoriesAdmin() { super(); this.initListeAdmin(); } }
Le problème c'est que rien n'est listé, je vois pas trop le problème vu qu'aucun message d'erreur n’apparaît.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 package beans; import classes.Objet; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.naming.NamingException; /** * * @author pj */ public class Categories extends Objet { private int nb; private List categories; /** Creates a new instance of Categories */ public Categories() { super(); this.nb=0; } public void initListeAdmin() { try { this.categories=new ArrayList(); this.getConnection(); String query="SELECT COUNT(id) AS nb FROM table_categories"; Statement state=this.con.createStatement(); ResultSet result=state.executeQuery(query); result.next(); this.nb=result.getInt("nb"); result.close(); state.close(); if(this.nb>0) { query="SELECT categorie FROM table_categories ORDER BY categorie ASC LIMIT 0,"+this.nb; state=this.con.createStatement(); result=state.executeQuery(query); while(result.next()) { Categorie categorie=new Categorie(); categorie.setCategorie(result.getString("categorie")); this.getCategories().add(categorie); } result.close(); state.close(); } } catch (NamingException ex) { Logger.getLogger(Categories.class.getName()).log(Level.SEVERE, null, ex); this.nb=0; this.getCategories().clear(); } catch (SQLException ex) { Logger.getLogger(Categories.class.getName()).log(Level.SEVERE, null, ex); this.nb=0; this.getCategories().clear(); } finally { try { this.closeConnection(); } catch (SQLException ex) { Logger.getLogger(Categories.class.getName()).log(Level.SEVERE, null, ex); this.nb=0; this.getCategories().clear(); } } } /** * @return the categories */ public List getCategories() { return categories; } }
Merci pour votre aide.
Partager