spring MVC之将多个动作分组到一个控制器(一)
spring MVC之将多个动作分组到一个控制器(一)
----------
?
创建多动作控制器
?
根据"每个动作一个控制器"的方法,给应用程序添加动作意味着必须在应用程序上下文中增加控制器。为了使配置更加简单,你想要将Spring MVC应用程序的控制器数量减到最少。Spring MVC提供的MultiActionController类允许你将多个相关的动作分组到一个控制器中。控制器可以扩展MultiActionController,并包含多个处理程序方法来处理多个动作。在多动作控制器中,可以用下面的形式,定义一个或者多个处理程序方法。
public (ModelAndView | Map | String | void) actionName(
HttpServletRequest,HttpServletResponse[,HttpSession][,CommandObject]);
处理程序方法的返回类型可以是ModelAndView(模型及视图名称,或者视图对象)、Map(只有模型)、String
(只有视图名称)或者void(方法本身直接处理HTTP响应)。
当请求通过处理程序映射被映射到多动作控制器时,它必须由该控制器内的某个特定的处理程序方法来处理。MultiActionController允许你用MethodNameResolver对象来配置方法映射。
?
?
?
创建多动作控制器
扩展MultiActionController类,然后就可以在这个控制器内部声明多个处理程序方法了。
由于在web应用程序上下文中配置了ControllerClassNameHandlerMapping,它会注意到这个控制器的类型为
NultiActionController,然后为它生成下面的映射。
/member/add.htm --> add()/member/remove.htm --> remove()/member/list.htm --> list()?
?
?
?
?
?