`
guoyiqi
  • 浏览: 1001902 次
社区版块
存档分类
最新评论

MultiActionController绑定command

阅读更多

dlpower:

一般只见到用SimpleFormController绑定command bean。
请问MultiActionController如何绑定command?

swiminthesea:

Spring MVC的MultiActionController比其它框架的DispatchAction之类的都要来得方便。
MultiActionController可以绑定任意的command,举个例子:

java 代码
  1. public class TestController extends MultiActionController      
  2. {      
  3. public ModelAndView insertAccount(HttpServletRequest request,HttpServletResponse response,Account account)      
  4. {      
  5. }      
  6.      
  7. public ModelAndView insertProduct(HttpServletRequest request,HttpServletResponse response,Product product)      
  8. {      
  9. }      
  10.             
  11. }  

 注意看上面的方法签名,第三个参数就是你要绑定的command,不需要做任何配置,方法签名里第三个参数指定是什么对象,MultiActionController就会给你绑定什么对象。

 

首先在bean.xml里面:

xml 代码
  1. <bean id="methodNameResolver"    
  2. class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">    
  3. <property name="paramName"><value>method</value>    
  4. </property>    
  5. <property name="defaultMethodName"><value>view</value>    
  6. </property>    
  7. </bean>  
  8.   
  9. <bean name="/jsp/test.do" class="org.nightwalker.spaces.web.controller.TestController">    
  10. <property name="methodNameResolver">    
  11. <ref local="methodNameResolver"/>    
  12. </property>    
  13. </bean>  
  14.   

配置呢就这么简单。methodNameResolver指定了调用MultiActionController中方法的方式,例如,如果在你的MultiActionController中有如下方法:
public ModelAndView insertAccount(HttpServletRequest request,HttpServletResponse,Account account)
{
}

那么要调用这个方法,你的JSP页面的请求URL就应该这样写:

xml 代码
  1. <form action="test.do?method=insertAccount">    
  2. </form>  

至于绑定什么command和JSP是没有关系的。你在MultiActionController中的方法签名第三个参数是什么对象,Spring就会把request中参数的值绑定到方法签名的第三个对象中。

江南白衣:

不过在他的源码里有说明 -“--靠第3个参数来绑定比较缺乏灵活性,还是建议你调用它的bind()函数来绑定”。

当然,如果没有要特殊处理的属性,比如Book的Category属性,CoverImage属性,也没啥校验,可以简单的用第三个参数来绑定,又少了一行代码,善哉善哉。

分享到:
评论

相关推荐

    SpringMVC - MultiActionController

    在这个最简化教程中,我们将深入理解如何使用MultiActionController以及其在实际应用中的优缺点。 首先,了解SpringMVC的基本架构是必要的。它主要由DispatcherServlet、Controllers、Models、Views和Handlers等...

    spring mvc MultiActionController配置方法源码

    在Spring MVC中,`MultiActionController`是早期版本中的一个控制器类,它允许在一个控制器类中处理多个请求映射。然而,从Spring 3.0开始,`MultiActionController`已被废弃,取而代之的是更灵活、更面向注解的`@...

    Spring MVC MultiActionController---多动作控制器

    Spring MVC MultiActionController---多动作控制器 博客介绍: http://blog.csdn.net/sunshine_love/article/details/8842261 更换web.xml中web-config.xml即可尝试不同方法解析器,如有问题,请博客回复。欢迎交流...

    springMVC3学习(五)--MultiActionController(源码)

    springMVC3学习(五)--MultiActionController(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/25988091

    spring 2.0表单绑定实例

    自己写的spring表单绑定的小例子,分别使用SimpleFormController,MultiActionController,spring的form tag和validator。 还在MultiActionController里面实现了表单的绑定

    spring mvc_04

    在本教程"spring mvc_04"中,我们将深入探讨如何使用MultiActionController来实现静态资源的访问。尽管在现代Spring MVC应用中,我们通常会推荐使用基于注解的@Controller或@RestController,但理解...

    毕设外文文献翻译-Spring的webMVC构架模式 (3).docx

    此外,Spring还引入了命令对象(Command Object)的概念,这些对象可以绑定HTTP表单数据,无需实现特定接口,增强了代码的可复用性。 3. **数据绑定与验证** Spring的数据绑定机制允许将HTTP请求参数自动绑定到...

    Spring MVC 例子

    本示例将深入探讨`SimpleFormController`和`MultiActionController`这两种控制器在Spring MVC中的应用。 首先,`SimpleFormController`是Spring MVC早期版本中提供的一个抽象控制器,主要用于处理表单提交。它内置...

    spring mvc_03

    - **更好的注解支持**:如`@PathVariable`、`@RequestBody`等,提供更强大的路由和数据绑定能力。 因此,虽然`MultiActionController`在历史上的确起到了重要作用,但在现代Spring MVC应用中,我们更倾向于使用基于...

    springMVC带上传文件

    在控制器中,可以声明一个`MultipartFile`类型的参数,Spring MVC会自动将上传的文件绑定到这个参数上。文件的保存通常是在服务层(Service)或者持久化层(DAO)完成的,需要处理文件的临时存储和最终存储位置。 5...

    spring_mvc注解入门

    在传统的Spring MVC中,Controller通常需要实现`org.springframework.web.servlet.mvc.Controller`接口,或者是继承`SimpleFormController`或`MultiActionController`。但是使用注解后,Controller不再需要继承任何...

    springmvc 学习笔记

    在表单处理方面,Spring MVC 支持数据绑定,能将表单参数自动绑定到 Command 或 Form 对象中。如果表单字段与对象属性相匹配,Spring 将调用相应的 `set` 方法将参数注入对象。此外,还可以使用属性编辑器...

    web项目log4j简单案例

    在IT行业中,日志记录是任何应用程序不可或缺的一部分,特别是在Web项目中。Log4j是Apache组织提供的一款强大的、灵活的日志记录工具,广泛应用于Java开发领域。本案例将带你了解如何在Web项目中简单集成并使用Log4j...

    springmvc注解详解

    Controller 类,添加了@Controller 注解的类就可以担任控制器(Action)的职责,不使用注解,定义 SpringMVC 的控制类,则要继承 Spring 的 Controller 接口,如:MultiActionController 等。使用@Controller 注解...

    外文翻译-Spring的web-MVC-构架模式 (2).pdf

    缺省控制器接口简单,可以支持多层控制结构,如AbstractController、AbstractCommandController、MultiActionController等。 - **模型与视图**:Spring的数据绑定机制允许灵活地操作和验证模型对象,而不局限于特定...

    毕设 外文文献翻译--Spring的web-MVC-构架模式

    Spring提供了多种类型的控制器,如`AbstractController`、`AbstractCommandController`、`MultiActionController`等,以满足不同的应用场景。 3. **视图**:负责将模型数据转化为用户界面。Spring支持多种视图技术,...

    计算机外文翻译-Spring的web-MVC-构架模式 (2).pdf

    Spring提供多种抽象控制器类,如AbstractController、AbstractCommandController、MultiActionController等,以适应不同的应用场景。 - **ModelAndView**: 包含模型数据和视图信息,用于将处理结果传递给视图层。 ...

    毕设 外文文献翻译-Spring的web MVC构架模式 (3).docx

    为了适应复杂的应用场景,Spring提供了多种抽象控制器,如AbstractController、AbstractCommandController、MultiActionController、SimpleFormController和AbstractWizardFormController,允许开发者按需选择。...

    毕设 外文文献翻译-Spring的web MVC构架模式 (2).docx

    它提供了多种控制器基类,如AbstractController、AbstractCommandController、MultiActionController等,以适应不同的控制需求。与Struts相比,Spring不强制使用特定的表单或Action类,而是允许直接绑定业务对象,...

    spring 技术手册

    Spring支持属性的引用和自动绑定功能,这意味着可以通过简单的配置将一个Bean的属性值绑定到另一个Bean的属性上。 #### 十、集合对象注入 除了简单的类型注入,Spring还支持复杂类型的注入,如列表(List)、集合...

Global site tag (gtag.js) - Google Analytics