java 参数 注释_java – 方法参数级别的@ModelAttribute注释是什么意思?

Spring 3参考资料告诉我们:

When you place it on a method

parameter, @ModelAttribute maps a

model attribute to the specific,

annotated method parameter

我不明白这个魔法咒语,因为我确定模型对象的别名(如果使用ModelMap作为返回类型的键值)在执行请求处理程序方法后传递给View.因此,当请求处理程序方法执行时,模型对象的名称无法映射到方法参数.

为了解决这个矛盾我去了stackoverflow并找到了this详细的例子.

例子的作者说:

// The “personAttribute” model has

been passed to the controller from the

JSP

看来,他被Spring引用所吸引……

为了消除魅力,我在我的环境中部署了他的示例应用程序,并从方法MainController.saveEdit()中残留地剪切了@ModelAttribute注释.结果应用程序无需任何更改即可运行!所以我的结论是:将Web表单的字段值传递给参数的字段不需要@ModelAttribute注释.然后我坚持这个问题:@ModelAttribute注释的意思是什么?如果唯一的意思是在View中为模型对象设置别名,那么为什么这种方式比将对象显式添加到ModelMap更好呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值