摘要:對(duì)于暫存在會(huì)話中的用作控制器工作流一部分的模型屬性,要像使用存儲(chǔ)模型屬性到請(qǐng)求共享的會(huì)話一節(jié)中描述的那樣使用。
??本篇示例見(jiàn)這個(gè)項(xiàng)目的 mvc 分支下的 SesAndReqAttrController.java
① 使用@SessionAttribute來(lái)訪問(wèn)預(yù)先存在的全局會(huì)話屬性??如果你需要訪問(wèn)預(yù)先存在的、以全局方式管理的會(huì)話屬性的話,比如在控制器之外(比如通過(guò)過(guò)濾器)可能或不可能存在在一個(gè)方法參數(shù)上使用注解@SessionAttribute:
/** * 在處理請(qǐng)求 /helloWorld/jump 的時(shí)候,會(huì)在會(huì)話中添加一個(gè) sessionStr 屬性。 * * 這里可以通過(guò)@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"; }
??為了使用這些需要添加或移除會(huì)話屬性的情況,考慮注入org.springframework.web.context.request.WebRequest或javax.servlet.http.HttpSession到一個(gè)控制器方法中。
??對(duì)于暫存在會(huì)話中的用作控制器工作流一部分的模型屬性,要像“使用 @SessionAttributes 存儲(chǔ)模型屬性到請(qǐng)求共享的HTTP會(huì)話”一節(jié)中描述的那樣使用SessionAttributes。
② 使用@RequestAttribute訪問(wèn)請(qǐng)求屬性??就像@SessionAttribute一樣,注解@RequestAttribute可以被用于訪問(wèn)由過(guò)濾器或攔截器創(chuàng)建的、預(yù)先存在的請(qǐng)求屬性:
@RequestMapping("/reqAttr") public String handle(@RequestAttribute("reqStr") String str, Model model) { System.out.println("--> reqStr : " + str); model.addAttribute("sth", str); return "/examples/targets/test1"; }
??可以使用下面的過(guò)濾器進(jìn)行測(cè)試:
@WebFilter(filterName = "myFilter", description = "測(cè)試過(guò)濾器", 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", "萬(wàn)萬(wàn)沒(méi)想到,啦啦啦啦啦!"); chain.doFilter(request, response); } @Override public void destroy() {} }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/66062.html
摘要:同時(shí)另外一個(gè)目的是希望完全屏蔽掉源生,增加它的擴(kuò)展性。本文我以為例進(jìn)行講解,因?yàn)橐彩呛笸瞥龅淖⒔獠还軓氖褂煤驮砩隙际且荒R粯拥?。作用從中取?duì)應(yīng)的屬性值。 每篇一句 改我們就改得:取其精華,去其糟粕。否則木有意義 前言 如果說(shuō)知道@SessionAttributes這個(gè)注解的人已經(jīng)很少了,那么不需要統(tǒng)計(jì)我就可以確定的說(shuō):知道@RequestAttribute注解的更是少之又少。我覺(jué)得主...
摘要:和一起使用參照博文從原理層面掌握的使用一起學(xué)。至于具體原因,可以移步這里輔助理解從原理層面掌握的使用核心原理篇一起學(xué)再看下面的變種例子重要訪問(wèn)。 每篇一句 每個(gè)人都應(yīng)該想清楚這個(gè)問(wèn)題:你是祖師爺賞飯吃的,還是靠老天爺賞飯吃的 前言 上篇文章 描繪了@ModelAttribute的核心原理,這篇聚焦在場(chǎng)景使用上,演示@ModelAttribute在不同場(chǎng)景下的使用,以及注意事項(xiàng)(當(dāng)然有些...
摘要:見(jiàn)名之意,它是處理器,也就是解析這個(gè)注解的核心。管理通過(guò)標(biāo)注了的特定會(huì)話屬性,存儲(chǔ)最終是委托了來(lái)實(shí)現(xiàn)。只會(huì)清楚注解放進(jìn)去的,并不清除放進(jìn)去的它的唯一實(shí)現(xiàn)類(lèi)實(shí)現(xiàn)也簡(jiǎn)單。在更新時(shí),模型屬性與會(huì)話同步,如果缺少,還將添加屬性。 每篇一句 不是你當(dāng)上了火影大家就認(rèn)可你,而是大家都認(rèn)可你才能當(dāng)上火影 前言 該注解顧名思義,作用是將Model中的屬性同步到session會(huì)話當(dāng)中,方便在下一次請(qǐng)求中...
摘要:在中使用該注解,表示按注入。顯示聲明依賴(lài),根據(jù)來(lái)默認(rèn)注入是必須的。此注解使用在上,聲明此類(lèi)是一個(gè)服務(wù)類(lèi),執(zhí)行業(yè)務(wù)邏輯計(jì)算調(diào)用內(nèi)部等。此類(lèi)使用在上聲明此類(lèi)用于訪問(wèn)數(shù)據(jù)庫(kù),一般作為的角色。此外,之后引入了一系列的變種。負(fù)責(zé)將對(duì)象轉(zhuǎn)換為請(qǐng)求。 Annotation介紹 Spring項(xiàng)目開(kāi)發(fā)常用Annotation Java @Resource Resource 注釋標(biāo)記應(yīng)用程序所需的資源。...
摘要:雖然它不是必須,但是它是個(gè)很好的輔助官方解釋首先看看官方的對(duì)它怎么說(shuō)它將方法參數(shù)方法返回值綁定到的里面。解析注解標(biāo)注的方法參數(shù),并處理標(biāo)注的方法返回值。 每篇一句 我們應(yīng)該做一個(gè):胸中有藍(lán)圖,腳底有計(jì)劃的人 前言 Spring MVC提供的基于注釋的編程模型,極大的簡(jiǎn)化了web應(yīng)用的開(kāi)發(fā),我們都是受益者。比如我們?cè)贎RestController標(biāo)注的Controller控制器組件上用@...
閱讀 3259·2021-11-24 09:39
閱讀 1151·2021-09-07 10:20
閱讀 2599·2021-08-23 09:45
閱讀 2496·2021-08-05 10:00
閱讀 725·2019-08-29 16:36
閱讀 974·2019-08-29 11:12
閱讀 2978·2019-08-26 11:34
閱讀 2011·2019-08-26 10:56