2011-08-15 31 views
6

是否有任何方式在Spring webflow中使用不可變對象作爲視圖狀態中的模型?我知道Spring webflow通常傾向於這種類型的setter,但我想知道是否有人知道可以使用構造函數處理綁定數據的自定義DataBinder或WebDataBinder?Spring Webflow DataBinding通過構造函數的不可變對象?

我也知道有這個(SPR-1488) JIRA任務反對這個問題,它主張直接字段訪問。人們是否主張這種做事的方式?對我來說,這感覺不太對勁。

感謝,

斯圖爾特

+0

我也在努力解決這個問題。 –

+0

查看我的解決方案。我也想要這個功能。 –

回答

2

我已經把你如何能做到這一點使用傑克遜的ObjectMapper(其中除了JSON做得很好映射什麼不可變對象)的一個例子。

https://gist.github.com/4458079

幾件事情要注意的是,如果你想使用Spring的驗證(BindingResult),除非你更換所有的參數解析器不能使用@ModelAttribute。然而@Valid(有驗證)應該工作,@RequestBody也將與我的解決方案一起工作(無驗證)。

儘管其使用傑克遜映射請求參數的對象沒有涉及JSON處理。如果你想看到MappingJacksonHttpMessageConverter

作爲一個軟弱的無恥插頭我和Immutable ORM called: JIRM需要這種結合,因爲我喜歡的消息驅動架構不變的對象。

相關問題