RequestParam
使用说明:
作用:1、把请求中指定名称的参数给控制器中的形参赋值
属性:value:请求参数的名称、required:请求参数中是否必须提供该参数,默认为true.
使用实例:
//测试使用@RequestParam注解。 @Controller public class requestParamControlImpl implements IRequestParamControl { @RequestMapping(path = "/param") public String param(@RequestParam(value = "username")String name){ System.out.println(name); return "success"; } }
RequestBody
使用说明:
作用:用于获取请求具体的内容,直接使用得到的是key=value。get请求不适用
属性:required:是否必须要有请求体
使用位置:控制器方法参数列表中
使用实例:
//测试使用@RequestBody @RequestMapping(path = "/RequestBody") public String RequestBody(@RequestBody String name){ System.out.println(name); return "success"; }
Pathvaribale
使用说明:
作用:将前端地址栏中的占位符与控制器的参数绑定,获得该占位符的值。如请求中的/springMVC/{id}。这和{id}就是占位符。这是支持Restful风格的表现。
注:什么是RestFul风格。
绑定控制器的url使用占位符。原来的url请求方式如:path="springMVC/adduser"。而RestFul风格省去“/adduser”。若请求中待有参数,就在绑定控制器的url后面添加占位符:path="springMVC/{id}"。前端请求时的地址为localhost:8080/springMVC/10。
使用实例:
@RequestMapping(path = "/PathVaribale/{id}")
public String PathVaribale(@PathVariable String name){
System.out.println(name);
return "success";
}
ModelAttribute
在此之前首先介绍ModelMap对象
ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:addAttribute(String key,Object value); 在页面上可以通过el变量方式$key或者bboss的一系列数据展示标签获取并展示modelmap中的数据。 modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。
使用说明:
作用:1、使用在方法上,表示当前方法会在控制器方法之前执行,
2、使用在参数上,获取指定位置的值给参数赋值
属性:value:获取数据的key
使用案例:
修饰类
//测试@ModelAttribute修饰的方法在控制器方法前先执行 @ModelAttribute public void test(){ System.out.println("注解@modelAttribut的方法先执行"); }
修饰方法参数
//-------------前端页面(没有输入日期这个选项)-------------- <form action="annotation/modelAttribute" method="post"> 姓名<input type="text" name="username"><br> 密码<input type="text" name="password"><br> <input type="submit" value="提交"><br> </form> //-------------控制器-------------- //@ModelAttribute修饰的方法在控制器方法前先执行,在user这个对象中先插入当前对象 @ModelAttribute("user") public user test(){ System.out.println("注解@modelAttribut的方法先执行"); user _user=new user(); _user.setDate(new Date());//添加当前时间到对象中 return _user; } @RequestMapping(path = "/modelAttribute") public String modelAttrubute(@ModelAttribute("user") user _user){//目的是获取ModelMap中的user对象 System.out.println(_user); return "success"; }
SessionAttribute
使用说明:
作用:用于多次执行控制器方法之间的参数共享,将指定的modelMap中的数据存入到session中。
属性:value:用于指定存入的数据名称
type:指定存入的数据参数
使用位置:类之前
@SessionAttributes public class AnnotationsImpl implements IAnnotations { @RequestMapping(path = "/SessionAttribute") public String SessionAttribute(Model model){ model.addAttribute("1","lijie"); return "success"; } }
CookieValue
使用说明:
作用:通过cookie的名称,将指定的cookie传入到控制器的参数 中
属性:value:cookie的名称
required:是否必须拥有此cookie
RequestHeader
使用说明:
作用:用于获得请求的消息头
属性:value:提供消息头的名称
required:是否必须拥有次消息头
浙公网安备 33010602011771号