博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC ------处理模型数据
阅读量:6948 次
发布时间:2019-06-27

本文共 1956 字,大约阅读时间需要 6 分钟。

hot3.png

    Spring MVC提供了以下几种途径输出模型数据:

        -- ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据。

        --Map及Model:入参为org.springframework.ui.Model、org.springframework.ui.ModelMap或java.uti.Map时,处理方法返回时,Map中的数据会自动添加到模型中。

        --@SessionAttributes:将模型中的某个属性暂存到HttpSession中,以便多个请求之间可以共享这个属性到Httpsession中,以便多个请求之间共享这个属性。

        --@ModelAttribute :方法入参标注该注解后,入参的对象就会放到数据模型中。

@RequestMapping("/testModelAndView")public ModelAndView testModelAndView(){    String viewName = "success";    ModelAndView modelAndView = new ModelAndView(viewName);    //添加模型数据到ModelAndView     modelAndView.add("time",new Date());    return modelAndView;}

 页面获取参数jsp页面

$(requestScope.time)

  从这里可以看出来,SpringMVC会把ModelAndView的model中数据放入到request域对象中。

二、Map 及 Model使用

    SpringMVC在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器。

    如果方法的入参为Map或Model类型。SpringMVC会将隐含类型的引用传递给这些入参,在方法体内,开发者可以通过这个入参对象访问到模型中的所有数据,也可以像模型中添加新的属性数据。

@RequestMapping("/testMap")public String testMap(Map
 map){    map.put("names",Arrays.asList("tome","jack',"mike"));    return "success";}

    调用模型数据的方法同ModeAndView 一样,数据都放到了request域对象中。

三、@SessionAttributes

    在控制器类上标注一个@SessionAttributes,SpringMVC将在模型中对应的属性暂存到HttpSession中。

    @SessionAttributes除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中

    --@SessionAttributes(types=User.class)会将隐含模型中所有类型为User.class的属性添加到会话中。

    --@SessionAttributes(value={"user1","user2"})

    --@SessionAttributes(type={User.class,Dept.class})

    --@SessionAttributes(value={"user1","user2"},types{String.class})

@SessionAttributes(value={"user2"},types="String.class")@Controllerpublic class SpringMVCTest{    @RequestMappping("/test/sessionAttribute")    public String testSessionAttribute(Map
 map){        User user = new User("tom","123","tom@163.com",12);        map.put("user",user);        map.put("name","tom");        return "success";    }}

    这里将会把Map集合中的数据保存到Request和Session域对象中,获取Session模型数据

    

$(requestScope.user)$(sessionScope.user)$(requestScope.name)$(sessionScope.name)

转载于:https://my.oschina.net/u/2321816/blog/546964

你可能感兴趣的文章
关于HttpURLConnection的使用
查看>>
利用st_geometry将几百万条数据的普通数据库表转换成图形表
查看>>
codewars-014: k-Primes
查看>>
HashMap简单的实现ThreadLocal
查看>>
intellj激活
查看>>
身份证号码验证算法
查看>>
根据月份算出当月有多少天
查看>>
Centos6.5 YUM 搭建 apache
查看>>
三星联想华为:中国手机三甲重排座席
查看>>
安装wget命令工具
查看>>
SpringMVCAction
查看>>
iOS设计师必备手册
查看>>
平衡二叉树
查看>>
发布一个打飞机游戏
查看>>
cocostudio脚本绑定
查看>>
nload linux网络流量查看
查看>>
HTML格式自定义OpenCart邮件模板功能插件
查看>>
06 - C语言的预处理指令和关键字static|extern|typedef
查看>>
SpringCloud学习系列之四-----配置中心(Config)使用详解
查看>>
基于CSS属性display:table的表格布局的使用
查看>>