如何在Spring MVC 2.5中使用带有MultiActionController的setCommandClass()

时间:2012-04-24 08:43:56

标签: java spring spring-mvc

我正在从Struts2控制器转向Spring MVC 2.5

在Struts2的情况下,OGNL用于处理填充Action类的属性。在Spring MVC 2.5中,他们还有一个SimpleFormController,它可以调用构造函数中的setCommandClass(UserDefinedBean.class)来从参数中自动填充bean类的属性。

但是在MultiActionController的情况下(这似乎对我的要求非常有用)我正在request.getParameter("paramName");从请求中获取参数。有没有办法将setCommandClass()MultiActionController一起使用?

1 个答案:

答案 0 :(得分:3)

您可以将命令对象作为操作方法中的参数之一,例如:

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

为了广泛使用数据绑定,您始终可以覆盖 initBinder(...)方法来获取自定义绑定和验证器。

为什么使用Spring 2.5.x?为什么不是Spring 3.0.x?通过使用注释,您可以在新版本中获得更大的灵活性。甚至Spring也不建议使用扩展控制器的旧方法。只是一个建议,因为我不确定您的设计或要求。