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の例]