@PathVariable与@RequestParam的用法
程序员文章站
2022-05-19 15:57:08
...
@PathVariable
@RequestMapping(value = "/t1/add/{a}/{b}",method = RequestMethod.GET)
public String he(Model model,@PathVariable(value = "a")int a,@PathVariable(value = "b") int b){
model.addAttribute("msg",a+b);
return "hello";
}
@PathVariable(value = "a")int a,@PathVariable(value = "b") int b
//value="a"与value="b"对应地址栏add后面的/1/1
运行结果及地址栏如下
不加@的用法
@RequestMapping(value = "/t2/add",method = RequestMethod.GET)
public String he1(Model model,int a,int b)
{
model.addAttribute("msg",a+b+200);
return "hello";
}
参数int a,int b对应着地址栏a=2&b=3,可以将地址栏?后面的参数映射到方法俩面的参数,如下图地址栏所示
假如地址栏的参数与方法参数不一致就会出错,如下图地址栏所示
@RequestParam用法
另外如果你希望地址栏的参数是自订的,需要和方法的参数不一致,但是又能把地址栏的参数绑定到方法的参数上时,就需要@RequestParam注解,value属性就是你自定义的参数名称
@RequestMapping(value = "t3/add",method = RequestMethod.GET)
public String he2(Model model, @RequestParam(value = "num1") int a,@RequestParam(value = "num2") int b)
{
model.addAttribute("msg",a+b+100);
return "hello";
}
如下图所示
前端传过来一个对象怎么办?
不着急
@RequestMapping(value = "add",method = RequestMethod.GET)
public String he2(Model model,对象 duixiang)
{
System.out.println(duixiang);
return "hello";
}
对应前端传过来的参数如下
你会发现对象也能输出
上一篇: 生成验证码
下一篇: Laravel框架验证码的生成