6 Stimmen

Spring Webflow DataBinding zu unveränderlichen Objekten über einen Konstruktor?

Gibt es eine Möglichkeit der Verwendung eines unveränderlichen Objekts als ein Modell innerhalb eines View-Status in Spring Webflow? Ich weiß, Spring Webflow neigt in der Regel in Richtung Setter für diese Art von Sache, aber ich habe mich gefragt, ob jemand von einem benutzerdefinierten DataBinder oder WebDataBinder, die Bindung der Daten mit einem Konstruktor behandeln könnte wusste?

Ich bin mir auch bewusst, dass es das gibt (SPR-1488) JIRA-Aufgabe gegen das Problem, die einen direkten Feldzugang befürwortete. Befürworten die Leute diese Art der Vorgehensweise? Für mich fühlt es sich nicht ganz richtig an.

Danke,

Stuart

2voto

Adam Gent Punkte 45977

Ich habe ein Beispiel dafür, wie Sie dies tun können, mit Jacksons ObjectMapper (die neben JSON tut eine gute Arbeit Mapping alles zu unveränderlichen Objekten ).

https://gist.github.com/4458079

Dabei ist zu beachten, dass Sie nicht mit @ModelAttribute wenn Sie die Validierung von Spring verwenden wollen ( BindingResult ), es sei denn, Sie ersetzen alle Argumentauflöser. Allerdings @Valid (mit Validierung) sollte funktionieren und @RequestBody wird auch (ohne Validierung) mit meiner Lösung funktionieren.

Obwohl Jackson verwendet wird, um Anfrageparameter auf Objekte abzubilden, findet keine JSON-Verarbeitung statt. Wenn Sie das wollen, sehen Sie unter MappingJacksonHttpMessageConverter .

Als schamlose Werbung brauchte ich dies in Verbindung mit meinem Unveränderlicher ORM aufgerufen: JIRM da ich unveränderliche Objekte für nachrichtengesteuerte Architekturen bevorzuge.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X