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 中

測試結果:
在這裏插入圖片描述

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