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

IT 文章5年前 (2021)发布 小编
0 0 0

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

2.常用方式如下:
[list]ModelAndView
ModelMap
Map
Model[/list]
以上4种数据都存放在request域中。

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

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

常用方法:
void setViewName(String viewName)
String getViewName()
ModelMap getModelMap()
Map getModel()
ModelAndView addObject(String attributeName, Object attributeValue)
[v_act]演示:[/v_act]
1)Controller:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
2)sccess.jsp:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
3)浏览器:
处理模型数据及@ModelAttribute注解使用——SpringMVC框架系列教程(6)
[v_warn]注意:ViewName的使用可以参考前面的跳转方式返回的String写法[/v_warn]

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)

© 版权声明

相关文章

暂无评论

暂无评论...