beibehalten des Status mit Feder zwischen Anfragen
Ich bin neu in Quelle, so sorry, wenn dies eine Anfänger Frage, aber das Handbuch ist nicht klar (zumindest nicht für mich)
Meine Frage ist: wie Teile ich Stand zwischen den Anforderungen in den Frühling?
Ich kann Daten senden vom controller an die view mithilfe einer ModelMap, aber die Daten in der ModelMap ist nicht geschickt zurück, um die nächste controller von der view.
Wie kann ich das machen mit der Feder?
Unten ist ein Teil von mein source-code. In dem zweiten controller die modelMap nicht enthalten, die Daten, die ich gespeichert in der modelMap in der ersten Steuerung.
Wie soll ich den Zustand zu halten zwischen Controllern im Frühjahr?
vielen Dank für die Hilfe.
@RequestMapping(value = "find/something", method = RequestMethod.GET)
public String foo(@RequestParam("parent") Parent parent, ModelMap modelMap) {
...
modelMap.addAttribute("question_index", 42);
modelMap.addAttribute("something", new Something());
modelMap.addAttribute("data", new Data());
return "some/view";
}
<form:form action="bla" method="POST" modelAttribute="data">
...//using Something() and 42
</form:form>
@RequestMapping(value = "bla", method = RequestMethod.POST)
public String bla(@ModelAttribute("data") Data data, BindingResult result, ModelMap modelMap) {
System.out.println(modelMap); //doesn't contain question_index, or something
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder die modelMap in der
HttpSession
oder (besser für größere Anwendungen), Verwendung Spring web flow in denen Sie die so genannten Gespräche.bean
in meinem z.B.Den saubersten Weg, dies zu tun im Frühjahr ist mit einem session-scoped spring-bean. Instanzen der bean wird privat in der Sitzung, und wird instanziiert und verwaltet Frühjahr, wenn jede Sitzung beginnt. Diese bean kann halten Sie Ihre Konversation Zustand.
Unter der Decke, wird dieser Mechanismus verwendet ein standard -
HttpSession
Attribute, aber es bedeutet, dass Ihr code nicht haben, um mitHttpSession
direkt, so dass es sauberer ist insgesamt.Sehen die relevanten Teil der Feder docs (und hier), wie zu konfigurieren und verwenden Sie es.
vielen Dank für Eure Vorschläge, ich löste es, indem Sie Kennzeichnen die Tasten für die ModelMap als session-attibutes:
In der Regel (und ohne Feder), diese Daten gehen in die servlet-Sitzung.
do it yourself.