把请求中指定名称的参数给控制器中的形参赋值。
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(name="name") String username){
System.out.println("执行了...");
System.out.println(username);
return "success";
}
用于获取请求体内容。直接使用得到是 key=value&key=value…结构的数据。
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestBody String body){
System.out.println("执行了...");
System.out.println(body);
return "success";
}
用于绑定 url 中的占位符。例如:请求 url 中 /pages/{id},这个**{id}**就是 url 占位符。
@RequestMapping("/testPathVariable/{sid}")
public String testPathVariable(@PathVariable(name = "sid") String id){
System.out.println("执行了...");
System.out.println(id);
return "success";
}
用于把指定 cookie 名称的值传入控制器方法参数。
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue(value = "JSESSIONID") String cookieValue){
System.out.println("执行了...");
System.out.println(cookieValue);
return "success";
}
用于修饰方法和参数。 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。它可以修饰没有返回值的方法,也可
以修饰有具体返回值的方法。 出现在参数上,获取指定的数据给参数赋值
当表单提交数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据。
@RequestMapping("/testModelAttribute")
public String testModelAttribute(@ModelAttribute("abc") User user){
System.out.println("执行了...");
System.out.println(user);
return "success";
}
@ModelAttribute
public void showUser(String uname, Map<String,User> map){
System.out.println("showUser执行了!!");
User user = new User();
user.setUname(uname);
user.setAge(20);
user.setDate(new Date());
map.put("abc",user);
}
用于多次执行控制器方法间的参数共享
//这个注解只能作用在类上
@RequestMapping("/testSessionAttributes")
public String testSessionAttributes(Model model){
System.out.println("testSessionAttributes执行了...");
//底层存储到reques对象中
model.addAttribute("msg","美美");
return "success";
}
//getSessionAttributes
@RequestMapping("/getSessionAttributes")
public String getSessionAttributes(ModelMap modelMap){
System.out.println("getSessionAttributes执行了...");
//底层存储到reques对象中
String msg = (String) modelMap.get("msg");
System.out.println(msg);
return "success";
}
//删除参数
@RequestMapping("/delSessionAttributes")
public String delSessionAttributes(SessionStatus status){
System.out.println("getSessionAttributes执行了...");
status.setComplete();
return "success";
}
@SessionAttributes(value = {"msg"}) //把msg存入session对象中
public class AnnoController {