溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot中@SessionAttributes怎么使用

發(fā)布時間:2022-07-01 09:43:48 來源:億速云 閱讀:192 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細介紹“SpringBoot中@SessionAttributes怎么使用”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“SpringBoot中@SessionAttributes怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

概述

在默認情況下,ModelMap中的屬性作用域是request級別,也就是說,當本次請求結(jié)束后,ModelMap 中的屬性將銷毀。如果希望在多個請求中共享ModelMap中的屬性,必須將其屬性轉(zhuǎn)存到session 中,這樣 ModelMap 的屬性才可以被跨請求訪問。

Spring 允許我們有選擇地指定 ModelMap 中的哪些屬性需要轉(zhuǎn)存到 session 中,以便下一個請求屬對應的 ModelMap 的屬性列表中還能訪問到這些屬性。這一功能是通過類定義處標注 @SessionAttributes 注解來實現(xiàn)的。

代碼

后端代碼

Controller

@Controller
@RequestMapping("/anno")
@SessionAttributes(value={"msg"})   // 把Mapmodel中名字為msg的屬性存入到session屬性列表中
public class AnnoController {
    @RequestMapping(value="/testSessionAttributes")
    public String testSessionAttributes(Model model){
        System.out.println("testSessionAttributes...");
        // 底層會存儲到request域?qū)ο笾?
        model.addAttribute("msg","testSessionAttributes");
        return "success";
    }
 
    @RequestMapping(value="/getSessionAttributes")
    public String getSessionAttributes(ModelMap modelMap){
        System.out.println("getSessionAttributes...");
        String msg = (String) modelMap.get("msg");
        System.out.println(msg);
        return "success";
    }
 
    @RequestMapping(value="/delSessionAttributes")
    public String delSessionAttributes(SessionStatus status){
        status.setComplete();//刪除session域中的存入的數(shù)據(jù)
        return "success";
    }
}

前端代碼

success.html

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h4>入門成功</h4>
    ${ msg }
    ${sessionScope}
</body>
</html>

測試

測試1

訪問:http://localhost:8080/anno/testSessionAttributes/

前端

SpringBoot中@SessionAttributes怎么使用

測試2

訪問:http://localhost:8080/anno/getSessionAttributes/

后端打印

getSessionAttributes...
testSessionAttributes

測試3

訪問:http://localhost:8080/anno/getSessionAttributes/

SpringBoot中@SessionAttributes怎么使用

測試4

再次訪問:http://localhost:8080/anno/getSessionAttributes/

后端打印

getSessionAttributes...
null

前端

SpringBoot中@SessionAttributes怎么使用

讀到這里,這篇“SpringBoot中@SessionAttributes怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI