IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

Redirect et passage de paramètre via ModelMap


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 5
    Par défaut Redirect et passage de paramètre via ModelMap
    Bonjour,
    je me tourne vers vous, car j'essaie désespérément de passer un ModelMap lors d'une redirection. En effet je souhaite, une fois que l'inscription c'est bien passée, redirigé l'utilisateur vers la page d'accueil et lui afficher un message.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    @RequestMapping(value = "subscribe", method = RequestMethod.POST)
    	public ModelAndView subscribeAction(@ModelAttribute("customer") Customer customer, BindingResult result){
    		ModelMap model = new ModelMap();
     
    		accountServices.validate(customer, result);
    		if (result.hasErrors()) {
    			return  new ModelAndView("Account/public/loginAndSubscribe");
    		}
     
    		model.addAttribute("flashMessage", AppUtils.flashMessage("success", messages.getString("acc.new.success")));
     
    		return new ModelAndView("redirect:/", model);
    	}
    Et voici la méthode qui intercepte la redirection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    @RequestMapping("/")
    	public ModelAndView IndexHandler(ModelMap model) {
    		List<Auction> currentAuctions = auctionServices.getAllCurrentAuctions();
    		List<Auction> pendingAuctions = auctionServices.getAllPendingAuctions();
     
    		model.addAttribute("currentAuctions", currentAuctions);
    		model.addAttribute("pendingAuctions", pendingAuctions);
    		return new ModelAndView("Application/index", "data", model);
    	}
    Auriez-vous une idée de comment je dois procéder ?
    Merci d'avance

    Alexandre

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 141
    Par défaut
    Bonjour je vois déjà que utilises des méthodes annotées mais je sais pas pourquoi tu veux toujours retourner un objet du type ModelAndView? Avec Spring 3 plus besoin d'utiliser cet objet, tout devient facile avec l'utilisation d'un String qui indique le nom de la vue à retourner. Si ta méthode ne doit pas valider un formulaire, le type de retour peut être le type de l'objet que tu souhaites mettre dans le ModelMap. J'ai écrit un article la dessus mais je n'arrive toujours pas le poster sur le site.
    je te propose de changer tes méthodes comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    @RequestMapping(value = "subscribe", method = RequestMethod.POST)
    	public String subscribeAction(Customer customer, BindingResult result, StatusSession status, ModelMap model){
    		accountServices.validate(customer, result);
    		if (result.hasErrors()) {
    			return  "Account/public/loginAndSubscribe";
    		}
     
    		model.addAttribute("flashMessage", AppUtils.flashMessage("success", messages.getString("acc.new.success")));
                              //Je ne suis sûre de ce que fait ton appli mais juste une idée
    		status.setComplete();
    		return "redirect:/?"+messages.getString("acc.new.success");
    	}
    Et voici la méthode qui intercepte la redirection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @RequestMapping("/")
    	public String IndexHandler(ModelMap model,@RequestParam("msg" String msg) {
    		List<Auction> currentAuctions = auctionServices.getAllCurrentAuctions();
    		List<Auction> pendingAuctions = auctionServices.getAllPendingAuctions();
     
    		model.addAttribute("currentAuctions", currentAuctions);
    		model.addAttribute("pendingAuctions", pendingAuctions);
                              model.addAttribute("msg", msg);
       		return "Application/index";
    	}
    Bon j'espère que cette solution va te donner des idées.

Discussions similaires

  1. [ANT] Passage de paramètre via la ligne de commande.
    Par BarBiTueRie dans le forum ANT
    Réponses: 2
    Dernier message: 18/07/2007, 10h28
  2. [vb.net]Passage de paramètres via l'url
    Par Irish dans le forum ASP.NET
    Réponses: 7
    Dernier message: 06/12/2006, 19h53
  3. appel d'une page php et passage de paramètres via un SRC
    Par yoda_style dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/01/2006, 20h54
  4. Pb passage de paramétres via l'url
    Par chpog dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/09/2005, 10h34
  5. Passage de paramètres via l'URL
    Par carolinebelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/08/2005, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo