Spring中@ModelAttribute注解用法小结

        该注解的具体用法,在编程人生的博客中已经写得较为详细和到位了,附上链接 :
  http://blog.csdn.net/li_xiao_ming/article/details/8349115
  在此向编程人生表示感谢 ,学到了很多,稍微有一点不太清楚,小做补充讲解,主要是关于文中提到的:
  2.@ModelAttribute注释一个方法的参数-(2)从Form表单或URL参数中获取(实际上,不做此注释也能拿到user对象) 
  @ModelAttribute(value="xxx")总的来说是向框架要求取得属性key为xxx的model属性,如果有就直接获得,
  例如: 
    @RequestMapping(value="/add")
    public String test(@ModelAttribute("user") User user){
        return "abc";}
  此处:@ModelAttribute("user") User user  用于向框架要求放入key为 user的model属性,并且将该属性的值赋给新建立的对象User user,
  如果model中没有key为user的属性,就创建该属性并赋值给参数列表中的User user对象。
  如果model中没有key为user的属性,并且没写@ModelAttribute("user"),由于参数列表中有User user对象入参,则Spring会将该对象放入model,并且key值为首字母小写的类名,也就是说对于方法:
    @RequestMapping(value="/add")
    public String test(User user){
        return "abc";}
  框架提前帮你写了一句model.addAttribute("user",user),但这样既不好读也不好懂,还是应当老老实实的@ModelAtreibute("xxx")。
  注意,无论model中是否有key为user的属性,都要求User类有无参构造方法。

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值