4
當Spring MVC的應用使得控制器我每次都指定
的新方法我想從春天的形式通過一項新的類的實例:
春季形式控制器泛化
@RequestMapping(method=RequestMethod.POST)
public String mainPost(@Valid MyClass myClass,
BindingResult result, Model model) {
// do the same stuff each time here
}
所以我需要寫一個方法爲我的應用程序
中的每個可能的MyClass,可以傳遞給控制器,但所有這些方法做絕對相同的東西
(他們檢查錯誤,並將此對象傳遞給服務層)。
如何將所有這些方法合併爲一個?
我相信有一些類似的解決方案如下(不工作):
@RequestMapping(method=RequestMethod.POST)
public <T> String mainPost(@Valid T myObject,
BindingResult result, Model model) {
// check errors and pass the object myObject to a service layer
}
是,但它更簡單,但我希望有一些方法可以編寫控制器,以便在向模型中添加新類時不會添加更多控制器代碼。當我使用這樣一個AbstractController時,我仍然需要添加新的控制器類,當我添加新的類到模型中。 – tsds
@tsds:如果您的泛型方法對不同的模型類使用相同的URL映射,它將如何知道它應綁定哪一個? – axtavt
每個彈簧窗體都有commandName參數,所以當你發佈數據時,spring將構造該類的一個實例(在這個參數中指定),我認爲這個信息對於控制器來說已經足夠了,但是我對此並不是很有信心。 – tsds