• springmvc之处理模型数据SessionAttributes注解


    ModelAndView和Map都是将数据模型放到请求域request中。

    (1)若希望在多个请求之间共用某个数据模型属性数据,可以在控制器类上加一个@SessionAttributes。springmvc会将在模型中对应的属性存到HttpSession中。

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

    SpringmvcTest.java

    @SessionAttributes(value={"user"},types= {String.class})
    @RequestMapping("/springmvc")
    @Controller
    public class SpringmvcTest {
        private static final String SUCCESS = "success";
        
        @RequestMapping(value="/testSessionAttributes")
        public String testSessionAttributes(Map<String,Object> map) {
            User user = new User();
            user.setUsername("tom");
            user.setAge(12);
            map.put("user", user);
            map.put("school", "一中");
            System.out.println("testSessionAttributes");
            return SUCCESS;
        }
    }

    index.jsp

        <a href="springmvc/testSessionAttributes">testSessionAttributes</a>

    success.jsp

        <p>Success</p>
        <p>request user:${requestScope.user}</p>
        <p>session user:${sessionScope.user}</p>
        <p>request school:${requestScope.school}</p>
        <p>session school:${sessionScope.school}</p>

    在启动服务器之后:

    点击:

    说明: SessionAttributes注解只能修饰类,value属性用于将指定名字的属性放入到session中。types属性将指定的数据类型放到session中。在jsp中,利用requestScope(请求域)可以取得传过来的模型数据,利用sessionScope(会话域)来获取session中的数据。如果不利用SessionAttributes,那么数据模型就只会存放在request中,在session中不会有相应的数据。

  • 相关阅读:
    安装最新版本的zabbix
    原 linux添加虚拟ip(手动vip和keepalived方式)
    zzuli OJ 1129: 第几天
    WIN内核线程池函数
    Java中利用Math.random()产生服从泊松分布的随机数
    机房重构所遇问题&quot;未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件&quot;的解决的方法集锦
    二路插入排序
    iOS开发之地图与定位
    2015-07-30Java 错题
    bootstrap, boosting, bagging
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12178317.html
Copyright © 2020-2023  润新知