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 :
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>
Avec mon bean listeCategoriesAdmin déclaré dans la vue (view) :
(ListeCategoriesAdmin.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
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();
    }
 
}
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
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;
    }
 
 
}
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.
Merci pour votre aide.