Restful风格
传统url写法:
http://localhost:8080/add?a=1&b=2
在Spring MVC中可以使用 @PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量上。
@Controller
public class TestController {
//映射访问路径
@RequestMapping("/add/{a}/{b}")
public String add(@PathVariable int a, @PathVariable int b, Model model){
//Spring MVC会自动实例化一个Model对象用于向视图中传值
model.addAttribute("msg",a+b);
//返回视图位置test.jsp
return "test";
}
}
思考:使用路径变量的好处?
使路径变得更加简洁;
获得参数更加方便,框架会自动进行类型转换。
通过路径变量的类型可以约束访问参数,如果类型不一样,则访问不到对应的请求方法,如这里访问是的路径是/add/1/a,则路径与方法不匹配,而不会是参数转换失败。
将方法中路径变量b的属性改为String,则访问路径为/add/1/a,再运行则成功
public class TestController {
//映射访问路径
@RequestMapping("/add/{a}/{b}")
public String add(@PathVariable int a, @PathVariable int b, Model model){
//Spring MVC会自动实例化一个Model对象用于向视图中传值
model.addAttribute("msg",a+b);
//返回视图位置test.jsp
return "test";
}
}