springMVC3学习(五)--MultiActionController

本文介绍Spring MVC中的多动作控制器的使用方法,通过一个具体的例子展示了如何在一个控制器中实现多种行为,同时提供了配置示例及测试URL。

spring提供一个多动作控制器,使用它你可以将几个动作合并在一个控制器里,这样可以把功能组合在一起。

多动作控制器存在在一个单独的包中——org.springframework.web.mvc.multiaction——它能够将请求映射到方法名,

然后调用正确的方法。比如当你在一个控制器中有很多公共的功能,但是想多个入口到控制器使用不同的行为,

使用多动作控制器就特别方便。

MultiActionController类实现

类定义:public class MultiActionController extends AbstractController implements LastModified,

继承了AbstractController,并实现了LastModified接口,默认返回-1;

核心属性:

delegate: 功能处理的委托对象,即我们要调用请求处理方法所在的对象,默认是this;

methodNameResolver:功能处理方法名解析器,即根据请求信息来解析需要执行的delegate的功能处理方法的方法名。


接下来看一个使用ParameterMethodNameResolver的例子

[java] view plain copy
在CODE上查看代码片 派生到我的代码片
  1. importjavax.servlet.http.HttpServletRequest;
  2. importjavax.servlet.http.HttpServletResponse;
  3. importorg.springframework.web.servlet.ModelAndView;
  4. importorg.springframework.web.servlet.mvc.multiaction.MultiActionController;
  5. publicclassUserControllerextendsMultiActionController{
  6. publicModelAndViewadd(HttpServletRequestrequest,HttpServletResponseresponse){
  7. ModelAndViewmv=newModelAndView();
  8. mv.addObject("message","add");
  9. mv.setViewName("add");
  10. returnmv;
  11. }
  12. publicModelAndViewdelete(HttpServletRequestrequest,HttpServletResponseresponse){
  13. ModelAndViewmv=newModelAndView();
  14. mv.addObject("message","delete");
  15. mv.setViewName("delete");
  16. returnmv;
  17. }
  18. }

springMVC.xml配置

[html] view plain copy
在CODE上查看代码片 派生到我的代码片
  1. <beanclass="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  2. <propertyname="mappings">
  3. <props>
  4. <propkey="userAction.do">userAction</prop>
  5. </props>
  6. </property>
  7. </bean>
  8. <beanid="userAction"class="com.itmyhome.UserController">
  9. <propertyname="methodNameResolver">
  10. <beanclass="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
  11. <!--指定参数名为action-->
  12. <propertyname="paramName"value="action"/>
  13. </bean>
  14. </property>
  15. </bean>

测试URL:

http://localhost:8080/spring_MultiActionController/userAction.do?action=add

http://localhost:8080/spring_MultiActionController/userAction.do?action=delete


源码下载:http://download.youkuaiyun.com/detail/itmyhome/7363665

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值