Bonjour à tous,
J'ai un problème avec mon moteur de recherche.Au fait,mon but c'est de trouver toutes les notes associées à un matricule que je saisis dans un formulaire de recherche.
Mais en saisissant un matricule possédant une note,j'ai un message d'erreur(Ce matricule ne possède pas de note.) qui devrais s'afficher que si le résultat de la recherche est nul.
Donc cela m'a permis de comprendre que l'attribut que je récupères dans la JSP est vide même en saisissant un matricule possédant une note.
Voici le code de la méthode qui sélectionne les enregistrements relatif à un matricule :
Voici le code de la méthode doPost :
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 private static final String rechercheEtudiantCons = "call rechercheEtudiant(?)"; public List<Note> SelectionnerNoteEtudiant(String NumEtudiant)throws DAOException { Connection connexion = null; PreparedStatement preparedStatement = null; ResultSet resultat = null; List<Note> noteRechercher = new ArrayList<Note>(); try{ connexion = daoFactory.getConnection(); preparedStatement = connexion.prepareStatement(rechercheEtudiantCons); preparedStatement.setString(1, NumEtudiant); resultat = preparedStatement.executeQuery(); while(resultat.next()){ noteRechercher .add(Stokage(resultat)); } }catch(SQLException s){ throw new DAOException("Aucun enregistrement trouvé.");/*Message console que je reçois même en saisissant un matricule possédant une note.*/ }finally{ fermeturesSilencieuses(resultat,preparedStatement,connexion); } return noteRechercher ; }
Voici le code de la JSP :
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 private static final String resultatRecheCons = "noteDeEtudiant"; private static final String Resultat = "/WEB-INF/resultat.jsp"; private static final String vide = "/WEB-INF/vide.jsp"; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String matricule = getValeurSaisie(request,rechercheRecCons); if(matricule != null){ List<Note> noteTrouve = noteDao.SelectionnerNoteEtudiant(matricule); Map<Long,Note> noteDeEtudiant = new HashMap<Long,Note>(); HttpSession session = request.getSession(); for(Note notRechercher : noteTrouve10){ noteDeEtudiant.put(notRechercher .getValide(), notRechercher ); } session.setAttribute(resultatRecheCons, noteDeEtudiant); this.getServletContext().getRequestDispatcher(Resultat).forward(request, response); }else{ this.getServletContext().getRequestDispatcher(vide).forward(request, response); } }
Je n'arrives vraiment pas à situer l'erreur.Merci d'avance!!!
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 <c:choose> <c:when test = "${empty sessionScope.noteDeEtudiant}">//Ce test est toujours vide donc ce qui veut dire que c'est ma Map "noteDeEtudian"qui ne contient rien voilà pourquoi j'ai le message ce matricule ne possède aucune note même s'il en possède. <font color = "red"><c:out value = "Ce matricule ne possède aucune note."/></font> </c:when> <c:otherwise> <link href="inc/TableCSSCode.css" rel="stylesheet" type="text/css" /> <table class = "CSSTableGenerator"> <tr> <td>Nom & prénom</td> <td>Matière</td> <td>Date</td> <td>Note</td> <td colspan = "2">Action</td> </tr> <c:forEach items = "${sessionScope.noteDeEtudiant}" var = "note"> <tr> <td><c:out value = "${note.value.etudiant.nomEtudiant}"/>    <span align = "right"><c:out value = "${note.value.etudiant.prenomEtudiant}"/></span></td> <td><c:out value = "${note.value.matiere.nomMatiere}"/> </td> <td><c:out value = "${note.value.tableDate.date}"/> </td> <td><c:out value = "${note.value.note}"/> </td> <td><a href = "<c:url value = "/supprimerNote"><c:param name = "valide" value = "${note.key}"/><c:param name = "matEtudiant" value = "${note.value.etudiant.numEtudiant}"/><c:param name = "numMatiere" value = "${note.value.matiere.numMatiere}"/><c:param name = "date" value = "${note.value.tableDate.date}"/></c:url>"><img src = "Image/sup.png" alt = "Supprimer" title = "Supprimer"/></a></td> <td><a href = "<c:url value = "/modifierNote"><c:param name = "valide" value = "${note.key}"/><c:param name = "matEtudiant" value = "${note.value.etudiant.numEtudiant}"/><c:param name = "numMatiere" value = "${note.value.matiere.numMatiere}"/><c:param name = "date" value = "${note.value.tableDate.date}"/></c:url>"><img src = "Image/modif.png" alt = "Modifier" title = "Modifier"/></a></td> </tr> </c:forEach> </table> </c:otherwise> </c:choose>
Partager