springMVC3得知(五岁以下儿童)--MultiActionController

Spring为了提供一个多动作控制器,您可以使用它的几个行动统一到一个控制器,这可以放在一起功能。

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

然后调用正确的方法。

比方当你在一个控制器中有非常多公共的功能,可是想多个入口到控制器使用不同的行为。

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

MultiActionController类实现

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

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

核心属性:

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

methodNameResolver:功能处理方法名解析器。即依据请求信息来解析须要运行的delegate的功能处理方法的方法名。

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

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController; public class UserController extends MultiActionController { public ModelAndView add(HttpServletRequest request,HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.addObject("message","add");
mv.setViewName("add");
return mv;
}
public ModelAndView delete(HttpServletRequest request,HttpServletResponse response) {
ModelAndView mv = new ModelAndView();
mv.addObject("message","delete");
mv.setViewName("delete");
return mv;
}
}

springMVC.xml配置

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="userAction.do">userAction</prop>
</props>
</property>
</bean>
<bean id="userAction" class="com.itmyhome.UserController">
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<!-- 指定參数名为action -->
<property name="paramName" value="action" />
</bean>
</property>
</bean>

測试URL:

http://localhost:8080/spring_MultiActionController/userAction.do?

action=add

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

源代码下载:http://download.csdn.net/detail/itmyhome/7363665

版权声明:本文博主原创文章。博客,未经同意不得转载。

上一篇:JDK的安装!力求简单明了!


下一篇:_vimrc(VimScript脚本语言学习)