默认值n和name参数

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕小脸 2020-09-29 18:31:56

同学你好,同学之前的理解是正确的,这里会根据前端传递的key是否是n进行赋值,将n的值赋给name

http://img1.sycdn.imooc.com//climg/5f730c8d097586c509770278.jpg

由于前端传递的参数中没有key为n的数据。所以此时会将配置的默认的值,赋值给name

http://img1.sycdn.imooc.com//climg/5f730cae09afaaad08030156.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小脸 2020-09-29 17:24:34

同学你好,@RequestParam(value = "n",defaultValue = "ANON") String name;表示请求中的参数n绑定到name上

通俗来讲:n是指页面传过来的数据,name你可以理解为:将n的值赋值给name。如果n为null,则n为ANON,name也为ANON。不为null,则n为前端传递过来的值,name也为传递过来的值

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 mixiaofan #1
    可是我在页面上填写name的值后提交,控制台打印的是ANON,而不是输入的数据
    2020-09-29 17:43:18
提问者 mixiaofan 2020-09-29 13:27:56

合理情况应该是

public String apply(@RequestParam(value = "name",defaultValue = "ANON") String name, String course, Integer[] purpose) {
   这样子吧?

前台name属性为空则把后台name赋予默认值ANON,前台name不为空则把后台name赋予前台name属性的值?

value="n"强行设置一个不存在的参数,无论前台name是否有值,后台一直都是ANON把?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师