如何將Model/Command類配置爲綁定到特定的請求參數?Spring - ModelAttribute和參數名稱
例如我已經下面的方法:
@RequestMappint("/success")
ModelAndView success(@ModelAttribute SomeCommand command) {
// process
}
和命令:
class SomeCommand {
String title
}
它的正常工作像/success?title=test
請求,當請求參數名稱等於命令屬性名稱。
但是如果我需要映射一些不同的名稱呢?例如如果請求如:/success?sk_title=test
。
如何將請求參數sk_title
映射到title
我的命令字段?
這個命令有一堆PARAMS,並通過幾種不同的方法使用(它與其他傳統系統的集成),因此讓這一切參數爲每RequestMapped方法@RequestParam是大量的工作並且需要太多的複製/粘貼作業,這會帶來很多錯誤和不可支持的代碼。
我輸入無法控制參數的名稱,它有很奇怪的名字,像「sk_yt_saf_amount」,這就是爲什麼我試圖綁定它更友好的屬性名稱。
PS我在這裏使用單詞'command'作爲輸入數據,從ModelAndView概念中將它與Model區分開來。
難道你想在這裏使用類似@RequestParam(「sk_title」)的案件? – Infinity
我在這裏有幾十個參數,所以爲他們容納容器要容易得多。並且它也被用於少數幾個地方/幾個具有不同邏輯的url,但數據結構相同 –
如果情況如此,請在您的頁面GET請求中執行model.addAttribute(「myuser」,new MyUser())然後在您的@RequestMapping 「/ success」)方法可以添加@ModelAttribute(「myuser」)。在你的JSP表單中,使用spring form helper標籤,