Spring MVC MultiActionControllerアノテーションの例
このチュートリアルでは、「@ RequestMapping」を使用してSpring MVCアノテーションベース
MultiActionController
を開発する方法を説明します。
XMLベースのMultiActionControllerでは、メソッド名リゾルバ(
InternalPathMethodNameResolver
、
PropertiesMethodNameResolver
またはリンク://spring-mvc/spring-mvc-parametermethodnameresolver-example/[ParameterMethodNameResolver])を使用してURLを特定のメソッド名にマップします。しかし、アノテーションをサポートすることで人生がより簡単になりました。メソッド名リゾルバとして
@ RequestMapping
アノテーションを使用できるようになりました。これはURLを特定のメソッドにマップするために使用されました。
これを設定するには、メソッド名の上にURLをマッピングして
@ RequestMapping
を定義します。
package com.mkyong.common.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class CustomerController{
@RequestMapping("/customer/add.htm")
public ModelAndView add(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerAddView");
}
@RequestMapping("/customer/delete.htm")
public ModelAndView delete(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerDeleteView");
}
@RequestMapping("/customer/update.htm")
public ModelAndView update(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerUpdateView");
}
@RequestMapping("/customer/list.htm")
public ModelAndView list(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerListView");
}
}
URLは次のパターンのメソッド名にマップされます。
-
/customer/add.htm – > add()メソッド
-
/customer/delete.htm – > delete()メソッド
-
/customer/update.htm – > update()メソッド
-
/customer/list.htm – > list()メソッド
-
注意** Spring MVCでは、この `@ RequestMapping`は常に最も柔軟で使いやすいマッピング機構です。
-