老师,我不太明白(value = "n",defaultValue = "ANON")的意思
来源:3-7 接收表单复合数据(下)
幕布斯2414477
2021-01-24 02:43:48
老师, 这个参数
@RequestParam(value = "n",defaultValue = "ANON") String name
我没太明白, value="n" 是什么意思, 什么情况下取默认值,和String name又是什么关系?
@PostMapping("/apply")
@ResponseBody
public String apply(@RequestParam(value = "n",defaultValue = "ANON") String name, String course, Integer[] purpose){
System.out.println(name);
System.out.println(course);
for (Integer p : purpose) {
System.out.println(p);
}
return "SUCCESS";
}
1回答
同学你好,这里value="n",表示接收请求参数中,参数名为n的值。如果这里没有value="n",则传入的参数名必须和方法的参数名一致,都是name,否则会接收不到对应的数据。
defaultValue = "ANON"表示如果前台没有传入变量名为n的值,则方法参数name的值默认是ANON。
举例如下:
有如下请求:localhost:8080/apply?n=zhangsan
这时会访问到apply()方法,请求中的参数n=zhangsan就会绑定到String name上。value="n"就是将请求参数的中n的值绑定到对应的变量name上。
如果请求修改为:localhost:8080/apply?a=zhangsan
请求参数中没有变量名为n的参数,方法参数name将会使用默认值ANON。
祝学习愉快~
相似问题
回答 1
回答 3