Spring MVC ParameterMethodNameResolverの例
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. ParameterMethodNameResolver
-
ParameterMethodNameResolver
が設定され、 ”
paramName ** “プロパティと考えられるパラメータ名を定義します。
<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.ParameterMethodNameResolver"> <property name="paramName" value="action"/> </bean> </property> </bean> </beans>
ここで、URLは、アクション名のリクエストパラメータ名を介してメソッド名にマッピングされます:
-
/customer/
.htm
?action=add
** – > add()メソッド -
/customer/whatever.htm
?action=add
– > add()メソッド -
/customer/
.htm
?action=update
** – > update()メソッド -
/customer/
.htm
?action=delete
** – > delete()メソッド -
/customer/
.htm
?action=list
** – > list()メソッド
__P.S ”
** “は任意のテキストを意味する。
-
Note
+デフォルトでは、
MultiActionController ** はURLを対応するメソッド名にマップするリンク//spring-mvc/spring-mvc-multiactioncontroller-example/[InternalPathMethodNameResolver]で使用されます。
ソースコードをダウンロードする
ダウンロードする –
SpringMVC-パラメータメゾネット名 – サンプル.zip
(7KB)
リファレンス
Javadoc]。リンク://spring-mvc/spring-mvc-multiactioncontroller-example/[Spring MVC
MultiActionControllerの例]