zoukankan      html  css  js  c++  java
  • 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中不会有相应的数据。

  • 相关阅读:
    Deepin 安装成功后开机进入系统黑屏
    Widows 关闭 Defender的方法
    yapi
    spring boot集成minio,最新版
    Minio第一课:走进 Minio
    Docker与IPtables
    解决:required a single bean, but 2 were found:
    Python之Beautiful Soup 4使用实例
    mysql -5.7.31 修改root密码
    mybatis/tk mybatis下实体字段是关键字/保留字,执行报错
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12178317.html
Copyright © 2011-2022 走看看