@ModelAttribute

       @ModelAttribute是springmvc框架下的注解,今天在项目中遇到,感觉没什么印象,就百度了下,感觉讲的也很模糊,今天就简单的讲讲我的理解。

       @ModelAttribute通常有一下四种用法:

         第一种:不带返回中的方法。

            eed0687c6fbc11d153b27efea9425c7f42d.jpg

            707c85f6a64a79527bac88a002ae994c54c.jpg

          如图所示,会controller的请求之前执行此方法,并且把参数自动添加到model当中,同时可以在拦截的方法中(test1)做一些逻辑操作。

           d24cbe6366c2b34ce8a56a176b76ac00c40.jpg

          并且可以把拦截方法test1方法中得到的数据带到真正的请求方法中(mapping)。

         第二种:带返回值的方法

           02d1d3160908430434c745a6e589165afc5.jpg

             f0e14549bda84da07eaf3880a2642a6b386.jpg

           同样会controller中请求的方法之前执行此方法。

            c8e5479565cdecc039703150d5abadacaa7.jpg

            并且会把test1方法得返回值带到model中。

           第三种:使用@ModelAttribute注解方法的参数

             0e13e53fa791431ea5b141029d8b522d722.jpg

             756630795086c38f73df884b6b7e0e180c8.jpg

           在方法参数上加注解@ModelAttribute,会把参数自动添加到model中以便返回视图层。(用post方法传递参数的时候参数无法封装进investUser中,这点要注意)。

        第四种:使用@ModelAttribute注解请求方法

         用@ModelAttribute注解@RequestMapping方法的场景很少会用到,因为这种场景下的返回值就不是视图了而是ModelAttribute的value值,如果不是视图,那么@RequestMapping注解的方法也失去了本身的含义。

         91b3951ecf176348ffc5712000b82c5d5ae.jpg

 

转载于:https://my.oschina.net/yaojianpeng/blog/3054666

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值