diff --git a/WEB-INF/classes/dao/UtilisateurDAO.class b/WEB-INF/classes/dao/UtilisateurDAO.class index 90952e00d7d85722eb8c138488b617c93bf861b5..2058623dd6a42ba7f0eb71b7a84572410e85d00e 100644 Binary files a/WEB-INF/classes/dao/UtilisateurDAO.class and b/WEB-INF/classes/dao/UtilisateurDAO.class differ diff --git a/WEB-INF/src/controleurs/Menu.java b/WEB-INF/src/controleurs/Menu.java index 819c7271ce56a6ab637f788a116c90f8e31a1d10..ab9f7697554e11ed77da6caedd0cde63fb4fceb1 100644 --- a/WEB-INF/src/controleurs/Menu.java +++ b/WEB-INF/src/controleurs/Menu.java @@ -1,10 +1,13 @@ package controleurs; import java.io.IOException; +import java.util.HashMap; import java.util.List; +import java.util.Map; import dao.FilDAO; import dao.MessageDAO; +import dao.UtilisateurDAO; import dto.Fil; import dto.Utilisateur; import jakarta.servlet.*; @@ -34,6 +37,17 @@ public class Menu extends HttpServlet { List<dto.Message> messages = mDAO.getLastMessages(Integer.parseInt(rese)); req.setAttribute("message",messages); req.setAttribute("filId", rese); + + Map<Integer, String> userNames = new HashMap<>(); + UtilisateurDAO utilisateurDAO = new UtilisateurDAO(); + for (dto.Message mess : messages) { + if (!userNames.containsKey(mess.getUid())) { + System.out.println(mess.getUid()); + System.out.println(utilisateurDAO.getNameById(mess.getUid())); + userNames.put(mess.getUid(), utilisateurDAO.getNameById(mess.getUid())); + } + } + req.setAttribute("userNames", userNames); } } req.getRequestDispatcher("menu.jsp").forward(req, res); diff --git a/WEB-INF/src/dao/UtilisateurDAO.java b/WEB-INF/src/dao/UtilisateurDAO.java index b81a63946bcc4ae06201716b4d81519987baef96..f68a27c3b21b1f6e6c7de48bfe548299bad85837 100644 --- a/WEB-INF/src/dao/UtilisateurDAO.java +++ b/WEB-INF/src/dao/UtilisateurDAO.java @@ -57,4 +57,21 @@ public class UtilisateurDAO { } return utilisateur; } + + public String getNameById(int id){ + String result = ""; + try (Connection con = ds.getConnection();) { + String query = "SELECT prenom, nom FROM UTILISATEUR WHERE u_id = ?"; // Correction ici + PreparedStatement ps = con.prepareStatement(query); + ps.setInt(1, id); // Correction : setInt au lieu de setString + ResultSet rs = ps.executeQuery(); + if (rs.next()) { + result = rs.getString("prenom") + " " + rs.getString("nom"); + } + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + } \ No newline at end of file diff --git a/menu.jsp b/menu.jsp index 011f84a2b08f0955b9b83b8d550a799a1081c130..e149c46c1041b655761b99b8980d725c965b66e2 100644 --- a/menu.jsp +++ b/menu.jsp @@ -4,6 +4,7 @@ <%@ page import="dto.Utilisateur" %> <%@ page contentType="text/html; charset=UTF-8" language="java" %> <%@ page import="dto.Utilisateur"%> +<%@ page import="java.util.Map" %> <!DOCTYPE html> <html lang="fr"> @@ -64,7 +65,7 @@ } %> <div class="message <% if(utilisateurConnecte) { %> blue <% } %>"> - <p class="username">Utilisateur <%=mess.getUid()%></p> + <p class="username"><%= ((Map<Integer, String>) request.getAttribute("userNames")).get(mess.getUid()) %></p> <p class="contenu"><%= mess.getMessage() %></p> </div> <% } %> @@ -76,7 +77,7 @@ <div class="input-group p-2 rounded"> <input type="text" class="form-control rounded-start" name="message" placeholder="Tapez votre message ici ..." aria-label="Message" required> <div class="vr"></div> - <button class="btn btn-light" type="submit"> + <button class="btn btn-light" typ e="submit"> <i class="bi bi-send"></i> </button> </div>