处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)

Java技术 潘老师 3年前 (2021-03-08) 1056 ℃ (0) 扫码查看

1.在页面跳转时,除了需要指定要跳转的页面地址,我们经常还会带数据传回到jsp页面显示(比如查询用户信息),SpringMVC给我们提供了哪些方式?

2.常用方式如下:

  • ModelAndView
  • ModelMap
  • Map
  • Model

以上4种数据都存放在request域中。

详解ModelAndView,因为ModelAndView是最常用的:
1)常用构造方法:
ModelAndView()-无参构造
ModelAndView(String viewName)-指定跳转页面
ModelAndView(String viewName, Map model)-指定跳转页面和Map数据
ModelAndView(String viewName, String modelName, Object modelObject)-指定跳转页面和模型数据

常用方法:
void setViewName(String viewName)
String getViewName()
ModelMap getModelMap()
Map getModel()
ModelAndView addObject(String attributeName, Object attributeValue)

演示:

1)Controller:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
2)sccess.jsp:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
3)浏览器:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)

注意:ViewName的使用可以参考前面的跳转方式返回的String写法

2.注解方式
(1)@ModelAttribute
这个注解有两个用处,第一个就是被该注解注释的方法会在相应的controller中的任何一个方法执行之前执行一遍。
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
当执行testModelAttribute方法时,SpringMVC会先执行getUser方法,通过map将其得到的user放到请求域中,然后找到名字同样叫user的对象作为入参传递给testModelAttribute方法。这里需要注意的是第一个方法中放入map的key值应该和第二个方法中入参的参数名一致,如果必须不一致的话这里就牵扯到第二个用法了
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
(2)@SessionAttributes
@SessionAttributes 只能作用在类上,作用是将指定的Model中的键值对添加至session中,方便在下一次请求中使用。
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
jsp:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
浏览器
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/2370.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】