開発者ドキュメント

Spring MVC PropertiesMethodNameResolverの例

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は次のパターンでメソッド名にマップされます:

  1. /customer/a.htm – > add()メソッド

  2. /customer/b.htm – > update()メソッド

  3. /customer/c.htm→ delete()メソッド

  4. /customer/d.htm→ list()メソッド

  5. /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の例]

モバイルバージョンを終了