springMVC参数绑定——@RequestParam和@PathVariable注解
2018-01-24 11:57
811 查看
@RequestMapping("/list") public String test(@RequestParam Long parentId) { }
@RequestMapping("/list") public String test( Long parentId) { }第一种必须带有参数,也就是说你直接输入localhost:8080/list 会报错 不会执行方法 只能输入localhost:8080/list?parentId=? 才能执行相应的方法第二种 可带参数也可不带参数 就是说你输入 localhost:8080/list 以及 localhost:8080/list?parentId=? 方法都能执行
当然你也可以设置 @RequestParam 里面的required为false(默认为true 代表必须带参数) 这样就跟第二种是一样的了如下:@RequestMapping("/list")
public String test(@RequestParam(required=false) Long parentId) {
.....
}
还可以设置里面的defaultValue的属性如下:@RequestMapping("/list")
public String test(@RequestParam(defaultValue="0") Long parentId) {
...
}
这样在地址里面也可以不带参数,如果带了参数会接收,不带参数会默认为0
里面还有一个value属性也讲一下, 前面所有的方法 传入的参数必须为parentId 才能接收到值但是如果你加了value属性(value可省去直接写“id”,但id对应得是前端页面的属性而不是方法内的参数parentId)@RequestMapping("/list")
public String test(@RequestParam(value="id") Long parentId) {
..
}
这样会用id 代替parentId 也就是说你地址里面传入的参数名称为id localhost:8080/list?id=? 这种
@PathVariable
是用来对指定请求的URL路径里面的变量 , 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:@RequestMapping(value="/updateView/{id}")
public ModelAndView updateView(@PathVariable(value = "id") String id){
ModelAndView mav = new ModelAndView("demo/personUpdate");
Map<String,Object> map = new HashMap<String,Object>();
map.put("id", id);
Person person = personService.findPersonById(map);
mav.addObject("person", person);
return mav;
}{id}在这个请求的URL里就是个变量,可以使用@PathVariable来获取,若id值为101,则访问形成的URL是 localhost:8080/updateView/101 这种
@PathVariable和@RequestParam的区别就在于:@RequestParam用来获得静态的URL请求参数;@PathVariable用来获得动态的URL请求入参
相关文章推荐
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- Spring MVC 入门指南(四)@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转载)
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- Spring @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转)
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解