2012-04-24 87 views
0

我從Struts2的控制器向前邁進了Spring MVC 2.5如何使用setCommandClass()用的MultiActionController Spring MVC中2.5

如果Struts2的OGNL用於填充採取行動類的屬性的照顧。在Spring MVC 2.5中,它們也有一個SimpleFormController,它可以在構造函數中調用setCommandClass(UserDefinedBean.class),以根據參數自動填充bean類的屬性。

但在MultiActionController的情況下(這對我的要求看起來非常有用)我在做request.getParameter("paramName");以從請求中獲取參數。有什麼方法可以利用setCommandClass()MultiActionController

+0

是否有任何具體原因使用'MultiActionController'而不是註釋控制器? – axtavt 2012-04-24 09:01:49

+0

@axtavt,我對Spring MVC很新穎。用谷歌搜索「註釋控制器」找到了一些結果。讓我通讀帖子並回到你身邊。我猜(不知道是否正確)「註釋控制器」不會自動填充字段,除非我爲每個參數定義。 – tusar 2012-04-24 09:20:06

回答

3

你可以命令對象作爲你action方法的參數之一,例如:

public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response, Object commandObject); 

對於大量使用數據綁定你總是可以覆蓋 initBinder(...)方法有您的自定義綁定和驗證。

爲什麼使用Spring 2.5.x?爲什麼不是Spring 3.0.x?通過使用註釋,您可以在新版本中獲得更大的靈活性。即使Spring不推薦使用擴展控制器的舊方法。只是一個建議,因爲我不確定你的設計或要求。