一、首先Demo
1、MultiController类
package com.yezi.web.controller;
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 MultiController extends MultiActionController{
public ModelAndView add(HttpServletRequest request,
HttpServletResponse response){
System.out.println("-----add-------");
return new ModelAndView("multi","methodName","add");
}
public ModelAndView update(HttpServletRequest request,
HttpServletResponse response){
System.out.println("---------update--------");
return new ModelAndView("multi","methodName","update");
}
}
2、在spring-servlet.xml增加配置
<!--一个controller中写多个方法-->
<bean name="/test/multi" class="com.yezi.web.controller.MultiController">
<property name="methodNameResolver" ref="paramterMedNameRes"></property> <!--配置转换器-->
</bean>
<bean id="paramterMedNameRes" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action"></property><!--访问是使用传递名(?ation=方法名)-->
</bean>
<!--一个controller中写多个方法-->
二、解释代码
1、访问方式:http://..../test/multi?action=add和http://..../test/multi?action=update
2、在配置bean是要指定对应的配置器(methodNameResolver),在methodNameResolver中指定了paramName的名字。
默认是"action"。