SpringMvc之常用注解

1.controller
controller注解用于指示spring类的实例是一个控制器

@Controller用于标记一个类,使用它标记的类就是Spring MVC Controller的对象,即一个控制器。

为了保证Spring能找到控制器,需要完成两件事:
①:在Spring MVC的配置文件中引入 spring-context
②:使用<context:component-scan class="指定扫描的包"/>元素,作用为扫描指定位置的包

2.RequestMapping 

@RequestMapping注解可以用来注释一个控制器类

除了可以修饰类还可以修饰方法

@RequestMappping注解支持的属性
①value:用于将指定请求的实例地址映射到方法上
②name:给映射地址一个指定的别名
③method:映射指定的方法类型(post,get)
④consumes:指定请求提交内容的类型
⑤produces:指定返回内容的类型,返回的内容必须是request请求中包含的内容
⑥params:指定request中必须包含的数值
⑦headers:指定必须包含给定的数值时,方法才被执行
⑧path:在方法层上支持相对路径

RequestMapping-PathVariable注解

@PathVariable 映射 URL 绑定的占位符
jsp

<a href="springmvc/testPathVariable/1">Test PathVariable</a>


java code

/*** @PathVariable 可以来映射 URL 中的占位符到目标方法的参数中.* @param id* @return*/
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id) 
{
  System.out.println("testPathVariable: " + id);
  return SUCCESS;
}

3.RequestParam

@RequestParam来映射请求参数

value:值即请求参数的参数名
required 该参数是否为必须,默认为true
defaultValue: 请求参数的默认值

4.RequestHeader

@RequestHeader映射请求头(用的机会较少)

5.CookieValue

@CookieValue 映射一个Cookie值(用的机会较少)

6.RequestAttribute

@RequstAttribute 该注解用于访问由请求处理方法、过滤器或者拦截器创建的、预先存在于Request作用域中的属性。

7.SessionAttribute

@SessionAttribute 该注解用于访问由请求处理方法、过滤器或者拦截器创建的、预先存在于Session作用域中的属性。

8.SessionAttributes

@SessionAttributes 该注解允许我们有选择的指定Model中的那些属性转存到HttpSession对象中

该注解只能放在类的上面,而不能修饰方法

value:可以通过属性名指定需要放到会话属性

tapes:也可以通过模型属性的对象类型指定哪些模型属性需要放到会话中

9.ModelAttribute(重要)

@ModelAttribute与@RequestAttribute 同时注解不同的方法时,@ModelAttribute要优先被调用

① @ModellAttribute(value=XX"")注释返回具体类的方法
value的默认值XX,用来指定model属性名称,而model属性值就是@ModellAttribute注释方法的返回值。

② @ModelAttribute 注释void返回值的方法(要在方法中加入一个Model类型参数)

将@RequstParam中的参数添加到Model类型中,,便可以通过requestScope.XX的方式获取属性值。

③ @ModelAttribute 注解返回具体类的方法
 
将return 的类型存放入Model类型中

④@ModelAttribute与@RequestMapping同时注释一个方法

@RequestMapping注释的方法,返回值就不是一个视图名称,而是Model的属性值
Model的属性值则由@ModelAttribute的value的值指定。

⑤@ModelAttribute注释一个方法的参数(最常用)
一个对象被@ModelAttribute注解时,前台控制的值会自动入参道此对象的同名属性中。

待续。。。。。

猜你喜欢

转载自blog.csdn.net/qq_33028695/article/details/82946470