2012-04-04 6 views
3

Ich füge zum ModelMap ein Map, die eine Liste auf einem Dropdown ein gehen enthält ich die ModelAttribute bin bevölkern, wenn das Formular initialisiert:Wie bewahrt man die ModelMap zwischen Formular-Submits auf?

@RequestMapping(method = RequestMethod.GET) 
    public String initForm(HttpServletRequest httpRequest, ModelMap model) 
    { 
     model.addAttribute("myList", myMap); 
     return "MyForm"; 
    } 

Es ist, als jedoch erwartet funktioniert, wenn der Benutzer das Formular dieses einreicht Liste ist von der Karte verloren.

@RequestMapping(method = RequestMethod.POST, value ="/dosearch") 
    public String processSearch(... ModelMap model) 
    { 
       ..... 
    return new ModelAndView("MyForm",model); 

Dieser Ansatz funktioniert nicht.

Wie kann ich die Karte zwischen Formularübergaben bearbeiten?

Antwort

1

Nein. Auch ein Flash-Scope wird Ihnen hier nicht helfen, da Sie Redirect-nach-Post nicht verwenden. Hier sind die Optionen:

  • Ausgabe alle Werte in dem HTML-Formular, dann werden sie zu /dosearch eingereicht werden und Sie werden in der Lage, sich von der Anfrage zu bekommen
  • die Sitzung, um die Werte zu speichern (schlechter Option)
+0

Danke. Können Sie mir bitte ein Codebeispiel der ersten Option zeigen? Was ist mit Frühling: binden? – Joly

+0

Auch ich freue mich, Redirect nach dem Post zu betrachten. Kannst du bitte etwas ausarbeiten? – Joly

+0

es dient einem anderen Zweck – Bozho

Verwandte Themen