Bonjour/bonsoir
Après 5 heures de recherche je ne peux pas résoudre mon problème, je vais d'abord vous montrer mon interface pour que vous compreniez mieux:
Comme vous pouvez voir que mon tableau montre tous les places existants, mon problème est que je veux que dès que j'entre le nom du local + le numéro d'une place et que je clique sur le bouton de recherche, le tableau affiche simplement les places qui porte le nom du local et le numéro de la place saisi par l'utilisateur.
Le problème est que lorsque je clique sur le bouton de recherche, il me montre tous les places existants et aucune erreur ne s’affiche sur mon ide netbeans, donc je ne sais pas d’où vient cette erreur.
voici mon code, on commence tout d'abord par la class Place :
et voici le code de mon servlet:
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
79
80 package Modals; import javax.naming.spi.DirStateFactory.Result; import javax.xml.ws.spi.http.HttpExchange; /** * * @author hp */ public class Place { String nom_local,prix,taille; int id,numero_place; public Place(String nom_local, String prix, String taille, int id, int numero_place) { this.nom_local = nom_local; this.prix = prix; this.taille = taille; this.id = id; this.numero_place = numero_place; } public Place() { } public String getNom_local() { return nom_local; } public void setNom_local(String nom_local) { this.nom_local = nom_local; } public String getPrix() { return prix; } public void setPrix(String prix) { this.prix = prix; } public String getTaille() { return taille; } public void setTaille(String taille) { this.taille = taille; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getNumero_place() { return numero_place; } public void setNumero_place(int numero_place) { this.numero_place = numero_place; } public Result Place(HttpExchange he) { throw new UnsupportedOperationException("Not supported yet."); } }
et voici le code de ma 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
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 @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection c=Cnx.getcnx(); String nom_local=request.getParameter("nom_local"); String numeroplace=(String) request.getParameter("numeroplace"); String prixplace=request.getParameter("prixplace"); String tailleplace=request.getParameter("tailleplace"); String action=request.getParameter("action"); ResultSet re=null; Place p1=null; ArrayList<Place> listplace = new ArrayList<Place>(); try { if("ajouter".equals(action)){ PreparedStatement st1=c.prepareStatement("insert into place values (null,?,?,?,?)"); st1.setString(1, nom_local); st1.setInt(2, Integer.parseInt(numeroplace)); st1.setString(3, prixplace); st1.setString(4, tailleplace); int resadd=st1.executeUpdate(); if(resadd>0){ request.setAttribute("msg", "Place ajouter avec succés !"); } else { request.setAttribute("msg", "Place non ajouter !"); throw new Exception("Erreur vous avez entrez deux locaux ayant le meme numéro de place et le meme nom de local" ); } getServletContext().getRequestDispatcher("/WEB-INF/Place_locaux.jsp").forward(request, response); } else if("Modifier".equals(action)){ PreparedStatement st2=c.prepareStatement("update place set prix=? , taille=? where numero_place=? and nom_local=? "); st2.setString(1, prixplace); st2.setString(2, tailleplace); st2.setInt(3, Integer.parseInt(numeroplace)); st2.setString(4, nom_local); int resupdate=st2.executeUpdate(); if(resupdate>0){ request.setAttribute("msg2", "Place modifier avec succés !"); } else { request.setAttribute("msg2", "Place non modifier !"); } getServletContext().getRequestDispatcher("/WEB-INF/Place_locaux.jsp").forward(request, response); } else if("supprimer".equals(action)){ PreparedStatement st3=c.prepareStatement("delete from place where id=?"); st3.setString(1, request.getParameter("id")); st3.executeUpdate(); } else if ("rechercher".equals(action)){ PreparedStatement st4=c.prepareStatement("select * from place where numero_place=? and nom_local=?"); st4.setInt(1, Integer.parseInt(numeroplace)); st4.setString(2, nom_local); re=st4.executeQuery(); while(re.next()){ //nom_local,prix,taille,id,numero_place p1=new Place(re.getString(2),re.getString(4),re.getString(5),re.getInt(1),re.getInt(3)); listplace.add((Place) p1); } getServletContext().getRequestDispatcher("/WEB-INF/Place_locaux.jsp").forward(request, response); } } catch(Exception ex){ request.setAttribute("msg", "error !"); ex.printStackTrace(); } }
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
79
80
81
82
83
84
85
86
87
88 <form method="POST" action='Place_locaux'> <div class="form-group"> <label class='labelproprietaire'>Nom du local approprié à la place :</label> <select class="browser-default custom-select" placeheader="Search here.." name="nom_local" required> <option value="" disabled selected>Choose your local</option> <%while(re1.next()){%> <option><%=re1.getObject(2)%></option> <%}%> </select> </div> <div class="form-group"> <label class='labelproprietaire'>Numéro place :</label> <input type="number" class="form-control" id="numeroplace" placeholder="Entrer le numéro de la place" name="numeroplace" > </div> <div class="form-group"> <label class='labelproprietaire'>Prix :</label> <input type="text" class="form-control" id="prixplace" placeholder="Entrer le prix de la place" name="prixplace" > </div> <div class="form-group"> <label class='labelproprietaire'>Taille de la place :</label> <input type="text" class="form-control" id="tailleplace" placeholder="Entrer la taille de la place" name="tailleplace" > </div> <div id='divbtnaddplace'> <button type="submit" class="btn btn-primary" id='btnajouterplace' style='vertical-align: 0;' name='action' value='ajouter'><i class="fas fa-plus-circle"></i>Ajouter</button> <button type="submit" class="btn btn-info" style='vertical-align: 0; width: 180px; height: 50px; text-align: center; text-transform: uppercase; font-size: 20px; border-radius: 20px; margin-top: 17px; margin-left: 15px; padding-top: 10px; ' name="action" value="rechercher"><i class="fas fa-search"></i>Rechercher</button> </div> </form> <table class="table table-hover" style="margin-top: 20px;" id="table1"> <thead> <tr class="table-active"> <th scope="col">Nom local</th> <th scope="col">Numéro de la place</th> <th scope="col">Prix</th> <th scope="col">Taille</th> <th scope="col">Action</th> </tr> </thead> <tbody> <% if( request.getAttribute("listplace") != null ){ ArrayList<Place> listplace = (ArrayList<Place>) request.getAttribute("listplace"); for(Place p1 : listplace ){ %> <tr> <th scope="row"><%=p1.getNom_local()%></th> <td><%=p1.getNumero_place()%></td> <td><%=p1.getPrix()%></td> <td><%=p1.getTaille()%></td> <td><a href="#" class="btn btn-warning btn-lg" data-toggle="modal" data-target="#updatemodal" ><i class="fas fa-pen"></i></a> <a href="#" class="btn btn-danger btn-lg" onclick="showremoverow(<%=p1.getId()%>);"><i class="fas fa-trash-alt"></i></a> </td> </tr> <%}} else {%> <%while(re2.next()){%> <tr id="ligne<%=re2.getObject(1)%>"> <th scope="row"><%=re2.getObject(2)%></th> <td><%=re2.getObject(3)%></td> <td><%=re2.getObject(4)%></td> <td><%=re2.getObject(5)%></td> <td><a href="#" class="btn btn-warning btn-lg" data-toggle="modal" data-target="#updatemodal" ><i class="fas fa-pen"></i></a> <a href="#" class="btn btn-danger btn-lg" onclick="showremoverow(<%=re2.getObject(1)%>);"><i class="fas fa-trash-alt"></i></a> </td> </tr> <%}%> <%}%> </tbody> </table>
Aidez moi s'il vous plait !!
Partager