Bonjour,
Dans une application Java web j'ai un user qui s'inscrit avec une session avec un username et passe de pages en pages.
Cela fonctionne comme je le voulais, sauf que j'aurais aimé ajouté que si je retourne sur le site je détecte automatiquement que la variable sessions user existe déjà. Ici je l'écrase via :
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 @Controller @SessionAttributes("user") public class BaseController { @RequestMapping(value = "/start", method = RequestMethod.GET) public ModelAndView showForm() { return new ModelAndView("index", "user", new User()); } @RequestMapping(value = "/start",method = RequestMethod.POST) public String requestDone(@Valid @ModelAttribute("user")User user,BindingResult bindingResult,final ModelMap pModel) { if (bindingResult.hasErrors()) { return "index"; } return "success"; } }
Je n'ai aucune idée de comment y avoir accès réellement dans mon contrôleur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part return new ModelAndView("index", "user", new User());
J'ai essayé ceci :
Je pensais qu'il détecterais ma variable de session mais cela m'afficher "In forme null" à chaque fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @RequestMapping(value = "/start", method = RequestMethod.GET) public ModelAndView showForm(@RequestParam(value = "user", required=false)User user) { System.out.println("In forme "+user ); if(user == null) user = new User(); return new ModelAndView("index", "user", user); }
Pourtant si une fois l'inscription effectuée je vais sur une autre page et j'affiche le user cela fonctionne sans soucis :
J'ai du mal comprendre quelque chose au niveau du contrôleur :/.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @RequestMapping(value = "/test", method = RequestMethod.GET) public String showForm2() { return "index"; }
Petite question bonus :
J'ai tenté de gérer un User en Autowire pour faire de l'aop et éviter le new User(), mais j'ai eu l'erreur "The prefix "aop" for element "aop:scoped-proxy" is not bound." sur le "<aop:scoped-proxy/>", ici :
Alors que j'ai bien intégré http://www.springframework.org/schema/aop et http://www.springframework.org/schem...ng-aop-3.1.xsd dans mon dispatcher spring.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <bean id="user" class="com.mathseiw.quizz.model" scope="session"> <aop:scoped-proxy/> </bean>
Merci d'avoir pris le temps de me lire.
Partager