Bonjour dans le cadre d'une mini application MVC , je rencontre un problème pour passer des données du modèle à la vue.

Tout d'abord , j'ai un bean Personne:
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
package mywebapp.bean;
public class Personne {
  private String nom;
  private String prenom;
 
  public Personne() {
    this.nom = "nom par defaut";
    this.prenom = "prenom par defaut";
  }
 
  public void setNom (String nom) {
    this.nom = nom;
  }
 
  public String getNom() {
    return (this.nom);
  }
 
  public void setPrenom (String prenom) {
    this.prenom = prenom;
  }
 
  public String getPrenom () {
    return (this.prenom);
  }
}
Jusque là rien d'extra ordinaire.
Ensuite , j'ai un modèle:

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
public class ConsulterAction implements Action {

	public void execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Créer votre bean
		Utilisateur utilisateur = new Utilisateur();
		utilisateur.setNom("Desreumaux");
		utilisateur.setPrenom("Rémi");		
		utilisateur.setDateDeNaissance("02/04/1985");
		
		// TODO Ajouter votre bean à la request
		req.setAttribute("utilisateur", utilisateur);
	}

}
et enfin la vue associée

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
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@page import ="mywebapp.bean.Utilisateur"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Consulter Utilisateur</title>
</head>
<body>
<h1>Consulter utilisateur </h1>
<%Utilisateur personne = (Utilisateur)request.getAttribute("utilisateur"); %>
<% if(personne != null) { %>
<p>nom = <%= personne.getNom() %></p>
<p>prenom = <%= personne.getPrenom() %></p>
<p>date de naissance = <%= personne.getDateDeNaissance() %></p>
<%} %>
</body>
</html>
et mon controller
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
package mywebapp.servlet;
 
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import mywebapp.action.ActionValue;
import mywebapp.action.ConsulterAction;
import mywebapp.action.ListerAction;
 
public class ControllerMVC2 extends HttpServlet {
 
	private static final long serialVersionUID = 1L;
 
 
 
 
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 
		Map<String, ActionValue> mapController = new HashMap<String, ActionValue>();
 
		// Initialisation des différentes actions et page de retour
		ActionValue actionAccueil = new ActionValue(null, req.getContextPath() + "/jsp/accueil.jsp");
		mapController.put("accueil", actionAccueil);
 
		ActionValue actionLister = new ActionValue(new ListerAction(), req.getContextPath() + "/jsp/lister.jsp");
		mapController.put("lister", actionLister);
 
		ActionValue actionConsulter = new ActionValue(new ConsulterAction(), req.getContextPath() + "/jsp/consulter.jsp");
		mapController.put("consulter", actionConsulter);
 
 
		// On récupère le nom de l'action
		String actionName = req.getParameter("actionName");
 
		ActionValue actionValue = mapController.get(actionName);
 
		// Si une action existe, il faut alors l'éxécuter
		if (actionValue.getAction() != null) {
			actionValue.getAction().execute(req, resp);
		}
 
		// Il faut maintenant rediriger vers la page souhaitée
		resp.sendRedirect(actionValue.getReturnPage());
	}
}
Le problème est que personne est toujours null alors qu'il devrait être égal à l'objet utilisateur.

Comment faire?
merci