Bonjour,

J'ai un problème d'accès à un bean avec scope "session" à partir d'un controller.
Le test que je fais : J'initialise le bean à partir d'un controller, et j'essaye d'y accéder à partir d'un autre controller.
Ci-dessous les code source :

spring-servlet.xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<bean id="login" class="gestionmagasin.attribute.Login" scope="session">
      <!-- this next element effects the proxying of the surrounding bean -->
      <aop:scoped-proxy />
      </bean>
Fichier Login.java :


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
@Component
public class Login implements Serializable {
 
	private String login;
	private String motpasse;
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getMotpasse() {
		return motpasse;
	}
	public void setMotpasse(String motpasse) {
		this.motpasse = motpasse;
	}
 
}
Mon premier controller ayant comme attribut un objet de type Login et qui initialise cet objet :

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
@Controller
 
@RequestMapping("/")
public class DefaultControler {
	@Resource(name="defaultService")
	private DefaultService DefaultService;
	 @Autowired
	   private Login login;
 
@RequestMapping(value = "/login", method = RequestMethod.POST)
	    public String connectUser(@ModelAttribute("connectionAttribute") Login login, Model model){
 
		this.login = login;
	    		if (DefaultService.getUserFromLoginPassword(login.getLogin(), login.getMotpasse()) != null){
	    			model.addAttribute("currentuser", DefaultService.getUserFromLoginPassword(login.getLogin(), login.getMotpasse()));
	    	System.out.println("valeur de login dans DefaultContoler" + this.login.getLogin());
	    			return "Admin_index";
	    		} else return "index";
 
 
		}
Le premier contoler initialise bien l'attribut login (this.login.getLogin() retourne la bonne valeur)

Mon deuxième 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
@Controller
 
@RequestMapping("/employe")
public class EmployeControler {
	@Resource(name="employeService")
	private EmployeService employeService;
	 @Autowired
	   private Login login;
@RequestMapping(value = "/formajoutemploye")
	    public String ajoutemploye(Model model){
 
		System.out.println("valeur de login dans le controller EmployeControler : " + login.getLogin());
		model.addAttribute("currentuser2", login);
 
			return "CreationEmploye";
		}
Et là, dans ce controller, login.getLogin() retourne null !

Quelqu'un peut m'aider svp ?

Merci