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