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

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 中

测试结果:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章