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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Catégories
         |--> Sujets
		|--> Messages
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.

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:
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; 
    }
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
 
<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 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.
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.