SpringMVC 处理模型数据 - MAP 与 SessionAttributes注解

    技术2025-12-04  25

    SpringMVC 处理模型数据 - MAP 与 SessionAttributes注解

    SpringMVC 在内部使用了一个 org.springframework.ui.Model接口存储模型数据。

       在方法中加入 Map 或者 Model 类型的参数

    @RequestMapping("/testSessionAttributes") public String testSessionAttributes(Map<String,Object> map){ Address address = new Address("安徽","滁州"); User user = new User("testName","123456",15,address); map.put("user",user); map.put("address",address); return SUCCESS; }

    success 页面

    <body> <h4>Sucess Page</h4> <br><br> request user : ${requestScope.user} <br><br> session user : ${sessionScope.user} <br><br> request address : ${requestScope.address} <br><br> session address : ${sessionScope.address} </body>

    测试结果: 可以发现数据只传入 request 中,那可不可以将数据放入 session 里呢?

         若要在多个请求之间共用某个模型属性数据,可以在类上添加 SessionAttributes 注解,可以将模型中对应的属性暂存到HttpSession中。

    示例:

    //只能放在类上,不能放在方法上 @SessionAttributes(value = {"user"},types = {Address.class}) @RequestMapping("/springmvc") @Controller public class HelloWorld {

    @SessionAttributes(value = {“user1”,“user2”}) 可以获取多个键的值 @SessionAttributes(types = {User.class}) 将模型中所有类型为 User.class 的属性放到 session 中

    测试结果:

    Processed: 0.018, SQL: 9