摘要:對于暫存在會話中的用作控制器工作流一部分的模型屬性,要像使用存儲模型屬性到請求共享的會話一節中描述的那樣使用。
??本篇示例見這個項目的 mvc 分支下的 SesAndReqAttrController.java
① 使用@SessionAttribute來訪問預先存在的全局會話屬性??如果你需要訪問預先存在的、以全局方式管理的會話屬性的話,比如在控制器之外(比如通過過濾器)可能或不可能存在在一個方法參數上使用注解@SessionAttribute:
/** * 在處理請求 /helloWorld/jump 的時候,會在會話中添加一個 sessionStr 屬性。 * * 這里可以通過@SessionAttribute 獲取到 */ @RequestMapping("/sesAttr") public String handleSessionAttr(@SessionAttribute(value = "sessionStr") String sessionStr, Model model) { System.out.println("--> sessionStr : " + sessionStr); model.addAttribute("sth", sessionStr); return "/examples/targets/test1"; }
??為了使用這些需要添加或移除會話屬性的情況,考慮注入org.springframework.web.context.request.WebRequest或javax.servlet.http.HttpSession到一個控制器方法中。
??對于暫存在會話中的用作控制器工作流一部分的模型屬性,要像“使用 @SessionAttributes 存儲模型屬性到請求共享的HTTP會話”一節中描述的那樣使用SessionAttributes。
② 使用@RequestAttribute訪問請求屬性??就像@SessionAttribute一樣,注解@RequestAttribute可以被用于訪問由過濾器或攔截器創建的、預先存在的請求屬性:
@RequestMapping("/reqAttr") public String handle(@RequestAttribute("reqStr") String str, Model model) { System.out.println("--> reqStr : " + str); model.addAttribute("sth", str); return "/examples/targets/test1"; }
??可以使用下面的過濾器進行測試:
@WebFilter(filterName = "myFilter", description = "測試過濾器", urlPatterns = { "/*" }) public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException {} @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("--> MyFilter Do."); request.setAttribute("reqStr", "萬萬沒想到,啦啦啦啦啦!"); chain.doFilter(request, response); } @Override public void destroy() {} }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66062.html
摘要:同時另外一個目的是希望完全屏蔽掉源生,增加它的擴展性。本文我以為例進行講解,因為也是后推出的注解不管從使用和原理上都是一模一樣的。作用從中取對應的屬性值。 每篇一句 改我們就改得:取其精華,去其糟粕。否則木有意義 前言 如果說知道@SessionAttributes這個注解的人已經很少了,那么不需要統計我就可以確定的說:知道@RequestAttribute注解的更是少之又少。我覺得主...
摘要:和一起使用參照博文從原理層面掌握的使用一起學。至于具體原因,可以移步這里輔助理解從原理層面掌握的使用核心原理篇一起學再看下面的變種例子重要訪問。 每篇一句 每個人都應該想清楚這個問題:你是祖師爺賞飯吃的,還是靠老天爺賞飯吃的 前言 上篇文章 描繪了@ModelAttribute的核心原理,這篇聚焦在場景使用上,演示@ModelAttribute在不同場景下的使用,以及注意事項(當然有些...
摘要:見名之意,它是處理器,也就是解析這個注解的核心。管理通過標注了的特定會話屬性,存儲最終是委托了來實現。只會清楚注解放進去的,并不清除放進去的它的唯一實現類實現也簡單。在更新時,模型屬性與會話同步,如果缺少,還將添加屬性。 每篇一句 不是你當上了火影大家就認可你,而是大家都認可你才能當上火影 前言 該注解顧名思義,作用是將Model中的屬性同步到session會話當中,方便在下一次請求中...
摘要:在中使用該注解,表示按注入。顯示聲明依賴,根據來默認注入是必須的。此注解使用在上,聲明此類是一個服務類,執行業務邏輯計算調用內部等。此類使用在上聲明此類用于訪問數據庫,一般作為的角色。此外,之后引入了一系列的變種。負責將對象轉換為請求。 Annotation介紹 Spring項目開發常用Annotation Java @Resource Resource 注釋標記應用程序所需的資源。...
摘要:雖然它不是必須,但是它是個很好的輔助官方解釋首先看看官方的對它怎么說它將方法參數方法返回值綁定到的里面。解析注解標注的方法參數,并處理標注的方法返回值。 每篇一句 我們應該做一個:胸中有藍圖,腳底有計劃的人 前言 Spring MVC提供的基于注釋的編程模型,極大的簡化了web應用的開發,我們都是受益者。比如我們在@RestController標注的Controller控制器組件上用@...
閱讀 3110·2021-11-24 09:39
閱讀 968·2021-09-07 10:20
閱讀 2389·2021-08-23 09:45
閱讀 2255·2021-08-05 10:00
閱讀 566·2019-08-29 16:36
閱讀 833·2019-08-29 11:12
閱讀 2813·2019-08-26 11:34
閱讀 1839·2019-08-26 10:56