SpringMVC常用注解
@RequestParam:
作用: 把请求 中指定名称的参数给控制器中的形参赋值。
Eg:------------------------------------------------------------------
@Component
@Scope("prototype")
@RequestMapping("test")
public class StuController {
@RequestMapping("/t1")
public String test1(@RequestParam(name="uName") String userName){
System.out.println(userName);
输出结果为:王二
}
}
<a href="test/t1?uName=王二">访问请求</a>
提醒点:表示把请求的参数 uName 赋值给后面的 String 类型的 userName;
注意:这里写了@RequestParam(name="uName")
那摩请求该方法的时候必须传一个 uName 的参数
@RequestBody
作用: 用户获取体内容,直接使用得到是 key=value& key=value。。。结构的数据 get 请求方式不适用。
Eg:------------------------------------------------------------------
@RequestMapping("/t2")
public String test2(@RequestBody String body){
system.out.println(body)
输出结果为:userName=hh&userAge=20
}
<form action="test/t2" metod="post">
<input type="text" name="userName" value="hh">
<input type="text" name="userAge" value="20">
<input type="submit" value="提交">
</form>
提醒点: @RequestBody 表示拿请求体整个内容
@PathVarible
作用: 用户帮定url中的占位符。例如:请求 url 中 /delete/{id},这个{id}就是url占位符。url支持占位符是Spring3.0之后加入的。
是SpringMVC支持rest风格url的一个重要标志
Eg:------------------------------------------------------------------
@requestMapping('/t3/{sid}')
public String test3(
@PathVarible(name="sid") String id){
system.out.println(id)
输出结果为:10
}
<a href="test/t3/10">访问请求</a>
提醒点:这里 name="sid" 要与 ('/t3/{sid}') 一致
表示把过来的 10 通过sid封装后赋值给 后面的id
@RequestHeader
作用: 用于获取请求消息头
Eg:------------------------------------------------------------------
@requestMapping('/t4')
public String test4( @RequestHeader(value="Accept")String header){
system.out.println(header)
}
<a href="test/t4">访问请求</a>
@CookieValue
作用: 用于把指定cookie名称传入控制器方法参数
Eg:------------------------------------------------------------------
@requestMapping('/t5')
public String test5(@CookieValue(value="JSESSIONID") String cookieVal){
system.out.println(cookieVal)
}
<a href="test/t5">访问请求</a>
@ModelAttribute
作用: 该注解是Springmvc4.3版本以后加入的。可以用于修饰方法和参数。
出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。它可以修饰没有返回值的方法。也可以修饰有具体返回值的方法
出现在参数上,获取指定的数据给参数赋值。
应用场景: 当表单提数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据。
Eg:------------------------------------------------------------------