Bonjour à tous !

J'espère que vous allez tous bien ? La pêche ?

Je crée ce sujet en espérant avoir une réponse fiable et concrète de votre part.

En effet, je travaille sur un projet d'entrée en matière en JAVA EE et je rencontre un petit problème ( un blocage ). Je voudrais récupérer dans les options de la balise Select de mon formulaire les données de la colonne d'une table de ma base de données. Voici comment j'ai procédé via mes recherches, mais je n'arrive pas à comprendre pourquoi mon système ne marche pas et c'est un peu décourageant

Création d'une méthode de récupération des données dans mon DAO :

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
public List<Fonction> recupererFonction() throws ClassNotFoundException, SQLException{
    List<Fonction> fonctions = new ArrayList<Fonction>();
    Statement statement=null;
    ResultSet resultat=null;
    Class.forName("com.mysql.cj.jdbc.Driver");
    Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/sgbd","root","");
    try{
        statement=connexion.createStatement();
        //Exécution de la requête
        resultat=statement.executeQuery("SELECT id_fonction,libelle_fonction FROM t_fonction");
        //Récupération des données
        while(resultat.next()){
            int id_fonction= resultat.getInt("id_fonction");
            String libelle_fonction= resultat.getString("libelle_fonction");
            Fonction fonction= new Fonction();
            fonction.setId_fonction(id_fonction);
            fonction.setLibelle_fonction(libelle_fonction);
            fonctions.add(fonction);
        }
    }catch(SQLException e){}
    finally{
        //Fermerture de la connexion
        try{
            if (resultat != null)
                resultat.close();
            if (statement != null)
                statement.close();
            if (connexion != null)
                connexion.close();
        }catch(SQLException ignore){}
    }
    return fonctions;
}
Dans la méthode Get de ma servlet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
InscriptionDao recup = new InscriptionDao();
try {
    request.setAttribute("fonctions", recup.recupererFonction());
} catch (ClassNotFoundException | SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
La balise Select de mon formulaire :

Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<div class="input-group">
          <span class="input-group-addon"><i class="icon_cone_alt"></i></span>
          <select name="fonction" class="form-select" required>
   <c:forEach var="fonction" items="${fonctions}">
     <option value="${fonction.id_fonction }">${fonction.libelle_fonction}</option>
   </c:forEach> 
        </select>
        </div>

voilà là où j'en suis arrivé, je ne sais où se trouve l'erreur ou si c'est moi qui ne fait pas bien

Veuillez bien m'aider !