Spring MVC:Details et Supprimer un Utilisateur

Les étapes à suivre

  1. 1Créer la méthode details() Mappé par GET d'envoyeé un utilisateur dont l'id est passé en paramètre à la vue utilisateurs/details.jsp
  2. 2Créer la vue utilisateurs/details.jsp permettant d'afficher les information de l'utilisateur envoyé par la méthode details()
  3. 3Créer la méthode supprimer() Mappé par GET permettant de supprimer un utilisateur dont l'id est passé en paramètre

1.Créer la méthode details() dans le controlleur UtilisateurController.java

/* La route pour afficher les détails d'un produit est /produits/id */
@RequestMapping("/{id}")
public String details(@PathVariable int id, Model model)
{
/* @PathVariable int id :récupérer le paramètre envoyé dans URL */
// produits/1 =>id=1
/* findById(id).get():=>select * from produit where id=id */
Utilisateur u=utilisateurRepository.findById(id).get();
//Envoyer le produit p à la vue details.jsp
model.addAttribute("utilisateur",u);
return "utilisateurs/details";

}

2.Créer la vue utilisateurs/details.jsp

<!--les tags de la biliothèque JSTL-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html><head><title>détail Utilisateur ${utilisateur.nom}</title></head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">

<body>
<div class="container">
<h1>Détail Utilisateur: ${utilisateur.nom}</h1>
<div class="row">
<div class="col-md-3"><div class="card" >
<img class="card-img-top" src="../resources/${utilisateur.photo}">
<div class="card-footer text-muted">
<a href="${pageContext.request.contextPath}/utilisateurs/${utilisateur.id}/supprimer" class="btn btn-danger">Supprimer</a>
<a href="${pageContext.request.contextPath}/utilisateurs/${utilisateur.id}/modifier" class="btn btn-primary">Modifier</a>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card" >
<div class="card-body">
<ul class="list-group">
<li class="list-group-item">Nom: <b>${utilisateur.nom}</b></li>
<li class="list-group-item">Prenom: <b>${utilisateur.prenom}</b></li>
<li class="list-group-item">Age: <b>${utilisateur.age}</b></li>
<li class="list-group-item">Email: <b>${utilisateur.email}</b></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

3.Créer la méthode supprimer() dans le controlleurs UtilisateurController.java

/*La route pour supprimer un utilisateur est /utilisateurs/id/supprimer :Avec GET */
@RequestMapping("/{id}/supprimer")
public String supprimer(@PathVariable int id, Model model,RedirectAttributes attributes)
{
/* delete from produits where id=id */
utilisateurRepository.deleteById(id);
/* Envoyer un message de confirmation à la vue index */
attributes.addFlashAttribute("message", "Le utilisateur est bien supprimé.");
/* redirection pour afficher la liste des utilisateurs */
return "redirect:/utilisateurs/";

}








Cours et TPs