SpringMVC一个controller写多个方法


在前面。已经可以利用SpringMVC进行简单的例子了,但是,在controller中我们实现了Controller接口。这样就必须实现handleRequest(HttpServletRequest request,HttpServletResponse response){}方法。从而spring才可以找到这个controller中的方法来运行。在日常的开发中我们有很多的方法需要实现,但不可能建很多的controller。那么就需要在一个controller中写多个方法。
 
当然了,如果使用注解的方式,那么就跟写Struts2的Action一样简便了,这里还是先使用XML配置方式吧,以后再聊基于注解的SpringMVC知识。
 
新建一个controller类名为MultiController。使其继承MultiActionController类。再在类中建立多个方法, 注意:在方法中需要传入两个参数HttpServletRequest和HttpServletResponse。
public class MulitControlle extends MultiActionController {
    public ModelAndView add(HttpServletRequest request,HttpServletResponse response){
        System.out.println("-----add----");
        return new ModelAndView("mulit","method","add");
    }
    
    public ModelAndView update(HttpServletRequest request,HttpServletResponse response){
        System.out.println("-----update----");
        return new ModelAndView("mulit","method","update");
    }
}

最后在spring-servlet.xml中添加参数名称解释器:

<!-- 参数名称解析器 -->
<bean id="paramMethodResolver"   class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"
p:paramName="action" />  
注意上面中的action,在下面解释。
配置完参数名称解析器后,配置我们请求的bean,在这里需要将参数解析器配置进去:
<bean name="/mulit" class="com.test.controlle.MulitControlle">
   <property name="methodNameResolver">
       <ref bean="paramMethodResolver" />
   </property>
</bean>

在WEB-INF/page下新建mulit.jsp:

<body>
    <h2>一个controller写多个方法</h2>
    我是【${method}】方法....
</body> 
最后我们访问页面如下:
SpringMVC(2)一个controller写多个方法 - 月上西楼 - 月上西楼
看到请求地址,也许你已经明白了,“action=add”,action为参数名称解析器中配置的action,add为MultiController类中的add方法。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM