java - 如何在 Spring MVC 2.5 中将 setCommandClass() 与 MultiActionController 一起使用

标签 java spring spring-mvc

我将从 Struts2 Controller 转向 Spring MVC 2.5

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

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

最佳答案

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

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

为了广泛使用数据绑定(bind),您始终可以覆盖 initBinder(...)方法来拥有自定义绑定(bind)和 validator 。

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

关于java - 如何在 Spring MVC 2.5 中将 setCommandClass() 与 MultiActionController 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294542/

相关文章:

java - 在外部调用中使用 Spring @Async 的任何理由

java - Spring JDBC 与 JDBC

spring-mvc - 带有 Thymeleaf 和 Tomcat 8 UTF-8 编码问题的 Spring MVC

java - 如何在@InitBinder 验证之前执行代码

java - 如何使我的 while() 循环返回到 if() 语句?

java - Eclipse错误: <class name> cannot be resolved to a type

java - com.google.gwt.user.client.ui.DeckPanel 可以触发哪些事件?

java - 更改流程布局中的面板大小

java - Spring - 以编程方式生成一组 bean

java - jdbcAuthentication() 而不是 inMemoryAuthentication() 不提供访问权限 - Spring Security 和 Spring Data JPA