Bonjour à tous,
Dans le cadre d'un projet scolaire, je désire développer un petit forum très simple. Mon professeur nous a introduit un peu au JSF et ça m'a semblé un choix idéal pour mon projet.
J'ai une simple architecture comme ceci:
J'ai choisi d'afficher les différents choix de catégories et de sujets avec le composante datatable. Les données proviennent d'une bean qui appelle une base de données Mysql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Catégories |--> Sujets |--> Messages
Lorsque je clique sur une catégorie, je dois transmettre à ma bean une clé qui correspond à la clé de la catégorie à afficher.
J'aimerais savoir comment transmettre un paramètre à ma bean lorsque je clic sur mon commandlink.
OutAffichage est une bean qui possède une méthode qui retourne une List:
Voici mon code de datatable présentement:
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 public java.util.List getCategorie() { ResultSet rs = null; boolean boucle = true; objAffichage obj; String sql = "SELECT IDCategorie, NomCategorie , COUNT(s.IDSujet) AS NB " + "FROM Categorie c " + "left join Sujet s on c.IDCategorie = s.IDCategorie " + "GROUP BY NomCategorie"; try { m_SqlBean.OuvertureConnexion(); rs = m_SqlBean.ExecSelect(sql); categorie.clear(); // Crée la liste à partir du ResultSet rs.first(); while ( boucle ) { if ( rs.isLast() ) boucle = false; obj = new objAffichage(); obj.setCle(rs.getString("IDCategorie")); obj.setNom(rs.getString("NomCategorie") ); obj.setNbPost( rs.getString("NB") ); categorie.add(obj); rs.next(); } m_SqlBean.FermerConnexion(); } catch(Exception ex) { ex.printStackTrace(); } return categorie; }
J'ai tenté avec <c:param .../> mais je ne sais pas trop comment le récupérer. J'ai créer une méthode setTest(String pParam) mais ça fonctionne pas.
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 <h:dataTable value="#{OutAffichage.categorie}" var="objAffichage" border="1" bgcolor="#bec18e" cellspacing="2" width="800"> <h:column> <c:facet name="header"> <h:outputText value="Nom des catégories" /> </c:facet> <h:commandLink action="#{OutAffichage.setTest}" value="#{objAffichage.nom}" > <c:param name="test" value="#{objAffichage.cle}" /> </h:commandLink> </h:column> <h:column> <c:facet name="header"> <h:outputText value="Nombre de Sujets" /> </c:facet> <h:outputText value="#{objAffichage.nbPost}" /> </h:column> </h:dataTable>
J'ai cherché sur le forum mais il existe beaucoup de technos différentes ( tomahaw?, Struts) et je suis un peu perdu dans tout ça.
Merci de votre aide.
Partager