1. MultiActionController
MultiActionControllerの例です。
package com.mkyong.common.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 CustomerController extends MultiActionController{ public ModelAndView add(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("CustomerPage", "msg","add() method"); } public ModelAndView delete(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("CustomerPage", "msg","delete() method"); } public ModelAndView update(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("CustomerPage", "msg","update() method"); } public ModelAndView list(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("CustomerPage", "msg","list() method"); } }
2. PropertiesMethodNameResolver
-
PropertiesMethodNameResolver ** を使うと、どんなURL名でもメソッド名に簡単に対応させることができます:
<beans ...> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/> <bean class="com.mkyong.common.controller.CustomerController"> <property name="methodNameResolver"> <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> <property name="mappings"> <props> <prop key="/customer/a.htm">add</prop> <prop key="/customer/b.htm">update</prop> <prop key="/customer/c.htm">delete</prop> <prop key="/customer/d.htm">list</prop> <prop key="/customer/whatever.htm">add</prop> </props> </property> </bean> </property> </bean> </beans>
URLは次のパターンでメソッド名にマップされます:
-
/customer/a.htm – > add()メソッド
-
/customer/b.htm – > update()メソッド
-
/customer/c.htm→ delete()メソッド
-
/customer/d.htm→ list()メソッド
-
/customer/whatever.htm – > add()メソッド
-
Note
デフォルトでは、
MultiActionController ** はリンク//spring-mvc/spring-mvc-multiactioncontroller-example/[InternalPathMethodNameResolver]を使用してURLを対応するメソッド名にマップします。
-
ソースコードをダウンロードする
それをダウンロードする –
SpringMVC-PropertiesMethodNameResolver-Example.zip
(7KB)
リファレンス
Javadoc]。リンク://spring-mvc/spring-mvc-multiactioncontroller-example/[Spring MVC
MultiActionControllerの例]