Bonjour,

j'aimerai afficher dans un tableau les contrats appartenant à l'utilisateur connecter dans mon application, pour faire cela j'ai créé un une Map dans ma servlet d'authentification pour me stocké l'id et le login de l'utilisateur connecté voici mon code :

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
 
@Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String login1=request.getParameter("login1");
       String password1=request.getParameter("password1");
       String destination="/WEB-INF/Acceuil_proprietaire.jsp";
       Connection c=Cnx.getcnx();
 
       try {
 
           PreparedStatement st=c.prepareStatement("select * from users where login=? and password=?");
           st.setString(1, login1);
           st.setString(2, password1);
           ResultSet res=st.executeQuery();
           if(res.next()){
                Map<String, String> user = new HashMap<String,String>();
                user.put("id", String.valueOf( res.getInt(1) ) );
                user.put("login", String.valueOf( res.getString(8) ) );
                request.getSession().setAttribute("currentUser", user);
                System.out.println("connecter avec succes");
                if(res.getString("role").trim() == "proprietaire"){
                    destination="/WEB-INF/Acceuil_proprietaire.jsp";
 
                }
                System.out.println("hello "+res.getString("role"));
                if(res.getString("role").equals("locataire")){
                    destination="/WEB-INF/Acceuil_locataire.jsp";
 
                }
 
                if(res.getString("role").equals("admin")){
                    destination="/WEB-INF/Acceuil_administrateur.jsp";
                }
           }
            else {
                request.setAttribute("msg1","Login ou mot de passe incorrecte !");
                destination="/WEB-INF/Page_de_cnx.jsp";
            }  
 
 
    }   catch (SQLException ex) {
            Logger.getLogger(Authentification.class.getName()).log(Level.SEVERE, null, ex);
        }
 
 
       getServletContext().getRequestDispatcher(destination).forward(request, response);
    }
}
ensuite je suis allé à ma jsp et j'ai créé une Map qui récupére la Map que j'avais mis dans ma servlet d'authentification comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Map<String,String> user = (Map<String,String>) session.getAttribute("currentUser");
Aprés j'ai mis ma requete et je lui ai donné comme condition de m'afficher juste les contrats de l'utilisateur connecté voici mon code pour mieux comprendre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<%
Connection c=Cnx.getcnx();
Statement st=c.createStatement();
Map<String,String> user = (Map<String,String>) session.getAttribute("currentUser");
ResultSet re=st.executeQuery("select null, c.cin_locataire, c.cin_proprietaire, c.date_debut, c.date_fin, c.type_contrat, c.user_id from contrat c , users u where u.id="+ Integer.parseInt(user.get("id")) +"") ;
 
%>
vous avez bien vu que j'ai mis pour la condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
where u.id="+ Integer.parseInt(user.get("id")) +""
Mais je vois que ça ne marche pas il m'affiche tout les contrats que j'ai dans ma bd, voici une image démonstrative :

Nom : Capture.PNG
Affichages : 143
Taille : 36,7 Ko

je suis connecté en ce moment avec l'utilisateur ayant l'id numero 6 du coup il ne devrait pas m'afficher aussi le contrat de l'utilisateur ayant comme id 8.

je ne sais vraiment pas d'ou viens l'erreur.

voici tout mon code jsp si vous on avez besoin :

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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
 
<%@page import="controller.Cnx"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.Map"%>
 
<!DOCTYPE html>
 
 
<%
Connection c=Cnx.getcnx();
Statement st=c.createStatement();
Map<String,String> user = (Map<String,String>) session.getAttribute("currentUser");
ResultSet re=st.executeQuery("select null, c.cin_locataire, c.cin_proprietaire, c.date_debut, c.date_fin, c.type_contrat, c.user_id from contrat c , users u where u.id="+ Integer.parseInt(user.get("id")) +"") ;
 
 
 
 
 
%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="description" content="Sufee Admin - HTML5 Admin Template">
        <meta name="viewport" content="width=device-width, initial-scale=1">
 
        <link rel="apple-touch-icon" href="apple-icon.png">
        <link rel="shortcut icon" href="favicon.ico">
 
        <link rel="stylesheet" href="vendors/bootstrap/dist/css/bootstrap.min.css">
        <link rel="stylesheet" href="vendors/font-awesome/css/font-awesome.min.css">
        <link rel="stylesheet" href="vendors/themify-icons/css/themify-icons.css">
        <link rel="stylesheet" href="vendors/flag-icon-css/css/flag-icon.min.css">
        <link rel="stylesheet" href="vendors/selectFX/css/cs-skin-elastic.css">
        <link rel="stylesheet" href="vendors/jqvmap/dist/jqvmap.min.css">
 
 
        <link rel="stylesheet" href="assets/css/style.css">
        <link rel="stylesheet" href="css/dataTables.bootstrap4.min.css">
        <link rel="stylesheet" href="css/style.css.map.css">
        <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
        <script src="https://kit.fontawesome.com/e3fd0d5f24.js" crossorigin="anonymous"></script>
 
        <title>Contrat</title>
    </head>
    <body>
        <aside id="left-panel" class="left-panel">
        <nav class="navbar navbar-expand-sm navbar-default" style="flex-flow:column wrap;">
 
            <div class="navbar-header">
 
                <a class="navbar-brand" href="#">Gestion parkings</a>
                <a class="navbar-brand hidden" href="./"><img src="images/logo2.png" alt="Logo"></a>
            </div>
 
            <div id="main-menu" class="main-menu collapse navbar-collapse">
                <ul class="nav navbar-nav">
 
 
                    <li class="nav-item ">
                        <a href="Gestion_des_locaux" class="nav-link"  aria-haspopup="true" aria-expanded="false"> <i class="fas fa-arrow-alt-circle-right" style="margin-right: 20px;" selected></i>Gestion locaux</a>
 
                    </li>
                    <li class="nav-item ">
                        <a href="Place_locaux" class="nav-link"  aria-haspopup="true" aria-expanded="false"> <i class="fas fa-arrow-alt-circle-right" style="margin-right: 20px;"></i>Places</a>
 
                    </li>
                    <li class="nav-item ">
                        <a href="#" class="nav-link"  aria-haspopup="true" aria-expanded="false"> <i class="fas fa-arrow-alt-circle-right" style="margin-right: 20px;"></i>Contrats</a>
 
                    </li>
 
 
 
                </ul>
            </div>
        </nav>
    </aside>
 
    <nav class="navbar" style="height:70px;" id='nav-proprietaire'>
        <ul class="nav navbar-nav">
            <li class="nav-item ">
                        <a href="Page_de_cnx" class="nav-link"  aria-haspopup="true" aria-expanded="false" style="padding-left: 1430px; text-transform: uppercase"> <i class="fas fa-exclamation-circle" style="margin-right: 20px;"></i>Déconnection</a>
 
                    </li>
        </ul>
    </nav>
        <label style="text-align: center; text-transform: uppercase; font-size: 30px; color:#0e9ed8;">All contrats :</label>
        <table class="table table-striped table-bordered" style="margin-top: 20px;" id="table1">
  <thead>
    <tr class="table-active">
      <th scope="col">Cin_locataire</th>
      <th scope="col">Cin_proprietaire</th>
      <th scope="col">Date debut</th>
      <th scope="col">Date fin</th>
      <th scope="col">Type de contrat</th>
      <th scope="col">User id</th>
 
 
    </tr>
  </thead>
  <tbody>
 
 
     <%while(re.next()){%> 
     <tr>
 
            <th scope="row"><%=re.getObject(2)%></th>
            <td><%=re.getObject(3)%></td>
            <td><%=re.getObject(4)%></td>
            <td>><%=re.getObject(5)%></td>
            <td><%=re.getObject(6)%></td>
            <td><%=re.getObject(7)%></td>
     </tr>
 
 
      <%}%>
 
 
  </tbody>
 
</table>
 
 
 
 
 
        <script src="vendors/jquery/dist/jquery.min.js"></script>
    <script src="vendors/popper.js/dist/umd/popper.min.js"></script>
    <script src="vendors/bootstrap/dist/js/bootstrap.min.js"></script>
    <script src="assets/js/main.js"></script>
    <script src="js/dataTables.bootstrap4.min.js"></script>
    <script src="js/jquery-3.3.1.js"></script>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script src="js/jquery.dataTables.min.js"></script>
    <script src="vendors/chart.js/dist/Chart.bundle.min.js"></script>
    <script src="assets/js/dashboard.js"></script>
    <script src="assets/js/widgets.js"></script>
    <script src="vendors/jqvmap/dist/jquery.vmap.min.js"></script>
    <script src="vendors/jqvmap/examples/js/jquery.vmap.sampledata.js"></script>
    <script src="vendors/jqvmap/dist/maps/jquery.vmap.world.js"></script>    
    </body>
</html>
je vous serez très reconnaissant si vous m'aidiez à résoudre mon problème et merci d'avance pour votre aide !