国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring學習之@SessionAttributes實例解析

spring學習之@SessionAttributes實例解析

2021-04-04 14:33你的承諾早已氾黃 Java教程

這篇文章主要介紹了spring學習之@SessionAttributes實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是spring學習之@SessionAttributes的相關內容,具體如下。

一、@ModelAttribute

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

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

使模型對象的特定屬性具有 Session 范圍的作用域

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.baobaotao.web;
… 
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.SessionAttributes;
@Controller
@RequestMapping("/bbtForum.do"
@SessionAttributes("currUser"
//①將ModelMap中屬性名為currUser的屬性 ,放到Session屬性列表中,以便這個屬性可以跨請求訪問 
public class BbtForumController {
    … 
      @RequestMapping(params = "method=listBoardTopic"
      public String listBoardTopic(@RequestParam("id")int topicId, User user, 
    ModelMap model) {
        bbtForumService.getBoardTopics(topicId);
        System.out.println("topicId:" + topicId);
        System.out.println("user:" + user);
        model.addAttribute("currUser",user);
        //②向ModelMap中添加一個屬性 
        return "listTopic";
    }
}

我們在 ② 處添加了一個 ModelMap 屬性,其屬性名為 currUser,而 ① 處通過 @SessionAttributes 注解將 ModelMap 中名為 currUser 的屬性放置到 Session 中,所以我們不但可以在 listBoardTopic() 請求所對應的 JSP 視圖頁面中通過 request.getAttribute(“currUser”) session.getAttribute(“currUser”) 獲取 user 對象,還可以在下一個請求所對應的 JSP 視圖頁面中通過 session.getAttribute(“currUser”) ModelMap#get(“currUser”) 訪問到這個屬性。

這里我們僅將一個 ModelMap 的屬性放入 Session 中,其實 @SessionAttributes 允許指定多個屬性。你可以通過字符串數組的方式指定多個屬性,如 @SessionAttributes({“attr1”,”attr2”}) 。此外,@SessionAttributes還可以通過屬性類型指定要 session 化的 ModelMap 屬性,如 @SessionAttributes(types = User.class) ,當然也可以指定多個類,如 @SessionAttributes(types = {User.class,Dept.class}) ,還可以聯合使用屬性名和屬性類型指定: @SessionAttributes(types = {User.class,Dept.class},value={“attr1”,”attr2”})

二、@ModelAttribute

我們可以在需要訪問 Session 屬性的 controller 上加上 @SessionAttributes,然后在 action 需要的 User 參數上加上 @ModelAttribute,并保證兩者的屬性名稱一致。SpringMVC 就會自動將 @SessionAttributes 定義的屬性注入到 ModelMap 對象,在 setup action 的參數列表時,去 ModelMap 中取到這樣的對象,再添加到參數列表。只要我們不去調用 SessionStatus 的 setComplete() 方法,這個對象就會一直保留在 Session 中,從而實現 Session 信息的共享。

?
1
2
3
4
5
6
7
8
@Controller
@SessionAttributes("currentUser")</span> 
public class GreetingController{
    @RequestMapping
    public void hello(@ModelAttribute("currentUser")User user){
        //user.sayHello()
    }
}

總結

以上就是本文關于spring學習之@SessionAttributes實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/u012843873/article/details/74917936

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产性猛交xxxx免费看久久 | 日韩成人av在线 | 久久精品国产一区二区电影 | 成人在线午夜 | 日韩中文字幕在线观看 | 亚洲人视频 | 天天干天天搞天天射 | 黄色免费在线观看 | 中文二区 | 亚洲精品国产成人 | 精品久久久久久国产 | 色综合天天综合网国产成人网 | 午夜小视频在线观看 | 中文字幕在线观看 | 日本久久久久久 | 在线视频亚洲 | 婷婷综合五月天 | 国产精品二区一区二区aⅴ污介绍 | 亚洲精品中文字幕在线观看 | 日韩一区二区三区在线 | 亚洲激情在线播放 | 精品国产一区二区三区性色av | www.青青草 | 亚洲情综合五月天 | 免费网站在线 | 欧美一区二区三区视频在线观看 | 国产精品中文字幕在线 | 精品视频网站 | 天天插天天操 | av在线精品 | 国产精品午夜电影 | 欧美在线观看免费观看视频 | 国产成人高清在线 | 欧美性猛交一区二区三区精品 | 国产999精品久久久久久 | 精久久| 欧美国产伦久久久久久 | 成人免费一区二区三区视频网站 | 日韩成人在线电影 | 国产精品亚洲一区二区三区在线 | 大桥未久亚洲精品久久久强制中出 |