springMVC基础(注解) 下载本文

常用注解元素

@Controller

标注在Bean的类定义处 @RequestMapping

真正让Bean具备Spring MVC Controller功能的是@RequestMapping这个注解 @RequestMapping可以标注在类定义处,将Controller和特定请求关联起来; 还可以标注在方法签名处,以便进一步对请求进行分流

配套的属性有: value需要跳转的地址

method基于RestFul的跳转参数,有RequestMethod.get post put delete等 params符合某个参数的时候才调用该方法 Headers符合头信息的时候才调用

@SessionAttributes 将结果放入session内

@ModelAttribute

存储在响应内容ModelMap或者ModelAndView进行保存值传到前台,当如果你需要保存值比较少

的时候可以采用这种方式进行保存值并且保存到前台显示

在默认情况下,ModelMap中的属性作用域是request级别,相当于HttpServletRequest中的request.setAttribute()一样,在JSP视图页面中通过request.getAttribute(“attribute name”)或者通过

${ attribute name } EL表达式访问模型对象中的属性对象

如果希望在ModelMap 的作用域范围为 session,可以有选择地指定 ModelMap 中的哪些属性需要转存到 session 中,以便下一个请求属对应的 ModelMap 的属性列表中还能访问到这些属性。这一功能是通过类定义处标注@SessionAttributes注解来实现如:

@Controller

@RequestMapping(\ @SessionAttributes(\

public class BbtForumController {。。。。。}

@ResponseBody

标注后 返回String对象的结果为response内容体,不标注的话 作为dispatcher url使用

@PathVariable

允许将请求路径的制定内容当做求情的参数使用

返回类型

请求处理方法入参的可选类型 说明

void 此时逻辑视图名由请求处理方法对应的URL确定,如以下的方法:

@RequestMapping(\ public void welcomeHandler() { }

对应的逻辑视图名为“welcome”

String 此时逻辑视图名为返回的字符,如以下的方法:

@RequestMapping(method = RequestMethod.GET)

public String setupForm(@RequestParam(\ModelMap model) {

Owner owner = this.clinic.loadOwner(ownerId); model.addAttribute(owner); return \ }

对应的逻辑视图名为“ownerForm”

ModelMap 和返回类型为void一样,逻辑视图名取决于对应请求的URL,

如下面的例子:

@RequestMapping(\ public ModelMap vetsHandler() {

return new ModelMap(this.clinic.getVets()); }

对应的逻辑视图名为“vets”,返回的ModelMap将被作为请求对应的模型对象,

可以在JSP视图页面中访问到。

ModelAndView

返回方式

1使用无返回方法跳转,如果使用返回方法进行跳转的话,则会通过视图解析器进行以

prefix(前缀)+方法名+suffix(后缀)组成的页面文件名称.