Spring MVC – Flash屬性

最新的Spring Framework版本(3.1)帶來了有趣的功能,稱為Flash屬性。 這是對我很久以前在我的一篇文章中提到的問題的補救措施: Spring MVC –會話屬性處理。 這個問題可以用幾句話來形容:如果我們想通過兩個控制器之間的重定向傳遞屬性,我們將無法使用請求屬性(它們將無法在重定向中幸存),并且我們將無法使用Spring的@SessionAttributes (由于Spring處理的方式)它),只能使用普通的HttpSession,這不是很方便。

下面,您將找到Flash屬性用法的示例,在開始對其進行檢查之前,請閱讀Spring文檔的Using flash properties部分。

假設我們有兩個控制器: AControllerBController ,第一個將準備一些數據并在提交表單后使用Flash屬性傳遞給第二個。 在AController上,我們將具有以下內容:

@RequestMapping(method = RequestMethod.POST)
public String handleFormSubmission(..., final RedirectAttributes redirectAttrs) {...redirectAttrs.addFlashAttribute("AttributeName", value);return "redirect:to_some_url_handled_by_BController";
}

提交表單后,屬性值將存儲為名為“ AttributeName”的Flash屬性 ,由于使用了Spring,該屬性值將傳遞給BController ,在其中可以通過以下方式使用它:

@Controller
...
@SessionAttributes("AttributeName")
public class SearchCriteriaHandler {...@RequestMapping(method = RequestMethod.GET)public void handleGetRequest(@ModelAttribute("AttributeName") final SomeType value) {...}...
}

之前你的處理方法會被調用, Spring框架將填充與現有的Flash中的模型屬性 -從AController過了這個點值將成為BController一個模型屬性。 請注意,由于我們還將此屬性定義為Session Attribute ,因此在處理GET請求之后,它將自動存儲該控制器以供將來使用。

我說我已經等了很長時間了;;)

相關文章: Spring MVC –會話屬性處理

參考: Spring MVC –來自我們JCG合作伙伴的 Flash屬性 ? Micha? 術士思想博客上的Ja?tak。


翻譯自: https://www.javacodegeeks.com/2012/02/spring-mvc-flash-attributes.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373758.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373758.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373758.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

000 快速排序算法

一:概述 快速排序是東尼.霍爾所發展的一種快速排序算法。 對于n個項目的排序,平均O(n*logn)次比較,在比較糟糕的情況下是O(n2)次比較。 采用分治策略把一個串行分為兩個子串行。 二:…

nginx post請求超時_nginx記錄分析網站響應慢的請求(ngx_http_log_request_speed)

nginx模塊ngx_http_log_request_speed可以用來找出網站哪些請求很慢,針對站點很多,文件以及請求很多想找出哪些請求比較慢的話,這個插件非常有效.作者的初衷是寫給自己用的,用來找出站點中處理時間較長的請求, 這些請求是造成服務…

如何用angularjs制作一個完整的表格之一__創建簡單表格

初步接手人生的第一個項目,需要用angularjs制作表格和實現各種功能,因此遇到了各種問題和以前不熟悉的知識點,在此記錄下來,以供大家學習交流,解決方式可能并不完善或符合規范,如果大家有更好的方式歡迎指出…

Java的String類是上帝的對象嗎?

10月,我寫了一個博客,題為“上帝對象中的頂級特朗普”,其中談到了用167種不同的方法發現的對象的發現,這些方法將該對象與應用程序的所有其他部分鏈接在一起,并且正如您所期望的那樣,上帝或怪物物的一般標準…

十步完全理解SQL

很多程序員視 SQL 為洪水猛獸。SQL 是一種為數不多的聲明性語言,它的運行方式完全不同于我們所熟知的命令行語言、面向對象的程序語言、甚至是函數語言(盡管有些人認為 SQL 語言也是一種函數式語言)。 我們每天都在寫 SQL 并且應用在開源軟件…

curl命令java_上curl java 模擬http請求

最近,我的項目要求java模擬http請求,獲得dns解決 tcp處理過的信息特定的連接。java api提供urlConnection apache提供的httpClient都不能勝任該需求,二次開發太費時間。于是google之。最后 得出兩種解決的方法:一是使用HTTP4J。該…

androidstudio 優化gradle編譯效率

androidstuido 使用gradle自己主動構建和編譯。有時做少量改動編譯須要等待時間過長,近期Erik Hellman編寫的Boosting the performance for Gradle in your Android projects( 譯文 參考1)提到了此問題的優化方法。1.gradle的升級到2.4 。 2.…

Common Knowledge_快速冪

問題 I: Common Knowledge 時間限制: 1 Sec 內存限制: 64 MB提交: 9 解決: 8[提交][狀態][討論版]題目描述 Alice and Bob play some game in which they score points. Each of the two has an n-digit scoreboard which depicts numbers in base 10 (with leading zeroes).…

播放2.0:Akka,Rest,Json和依賴項

在過去的幾個月中,我越來越多地涉足scala。 Scala與“ Play框架”一起為您提供了一個非常有效且快速的開發環境(即,您掌握了Scala語言的特質之后)。 Play框架背后的家伙一直在努力開發新版本的Play 2.0。 在Play 2.0中&#xff0c…

python使用多線程寫生成器_Python學習——多線程,異步IO,生成器,協程

Python的語法是簡潔的,也是難理解的。比如yield關鍵字:def fun():for i in range(5):print(test)x yield iprint(good, x)if __name__ __main__:a fun()# print(a.__next__())# print(a.__next__())# print(a.__next__())y a.send(None)y a.send(-1…

Python與C++結構體交互

需求:根據接口規范,實現與服務端的數據交互 服務端結構體分包頭、包體、包尾 包頭C結構體示例如下 1 typedef struct head2 {3 BYTE string1;4 BYTE string2; //包類型5 BYTE string3; //版本號,目前為06 char s…

Ubuntu下安裝OpenSSH Server并在客戶端遠程連接Ubuntu

本文主要是向讀者介紹了如何在Ubuntu系統下安裝OpenSSH Server并在客戶端遠程連接Ubuntu,共有兩種方法,一種是命令行安裝;另一種是通過Ubuntu Software Center安裝,希望對大家能有幫助! 方法一(推薦&#…

算法:老鼠走迷宮問題

算法:老鼠走迷宮問題(初) 【寫在前面】 老鼠走迷宮問題的遞歸實現,是對遞歸思想的一種應用。 【問題描述】 給定一個二維數組,數組中2表示墻壁,0表示通路,由此數組可展示為一個迷宮圖。給定入口位置和出口位置&#xf…

rust python對比_Python Rust 迭代器對比

迭代是數據處理的基石,而 Python 中所有集合都可以迭代,這是 Python 讓使用者感到非常方便的特征之一。下面是一些在 Python 中經常使用的迭代模式# 列表for i in [1, 2, 3, 4]:print(i)# 字典di {a: 1, b: 2, c: 3}# 迭代鍵for k in di.keys():print(k…

WebSphere Application Server性能調整工具包

IBM已發布了WebSphere Application Server性能調整工具包 ,該工具包具有從Eclipse工作區*監視多個 WebSphere Application Server的功能。 該工具使用WAS Performance Monitoring統計信息來獲取并繪制圖表,以指示服務器的運行狀況。 *請注意,…

CentOS 配置防火墻操作實例(啟、停、開、閉端口)

CentOS 配置防火墻操作實例&#xff08;啟、停、開、閉端口&#xff09;&#xff1a; 注&#xff1a;防火墻的基本操作命令&#xff1a; 查詢防火墻狀態: [rootlocalhost ~]# service iptables status<回車> 停止防火墻: [rootlocalhost ~]# service iptables stop &…

linux常用命令-壓縮解壓命令

壓縮解壓命令 目錄 1. 壓縮解壓命令&#xff1a;gzip 2. 壓縮解壓命令&#xff1a;gunzip 3. 壓縮解壓命令&#xff1a;tar 4. 壓縮解壓命令&#xff1a;zip 5. 壓縮解壓命令&#xff1a;unzip 6. 壓縮解壓命令&#xff1a;bzip2 7. 壓縮解壓命令&#xff1a;bunzip2 1. 壓縮解…

達夢數據庫查詢數據庫所有表名_達夢數據庫的一些實用小SQL

1)當前數據庫中的模式名&#xff1a;select distinct object_name TABLE_SCHEMA from all_objects where object_type SCH;2)查出各模式對應的用戶&#xff1a;selectSCH_OBJ.NAME ,SCH_OBJ.ID ,SCH_OBJ.CRTDATE,USER_OBJ.NAMEfrom(select NAME, ID, PID, CRTDATE from …

設置Java EE 6開發環境

本教程簡要說明了如何設置典型的環境來開發基于Java EE 6的應用程序。 除了可以正常工作的Windows XP客戶端具有足夠的CPU能力和內存外&#xff0c;本教程沒有其他先決條件。 在教程中&#xff0c;我們將需要安裝以下組件&#xff1a; Java 6 JDK更新26 用于Java EE開發人員的…

css cursor url用法格式詳解

css cursor url用法格式&#xff1a;css:{cursor:url(圖標路徑),auto;} //IE,FF,chrome瀏覽器都可以 實例代碼&#xff1a;html{cursor: url("http://ued.taobao.com/blog/wp-content/themes/taobaoued/images/cursor.ico"),auto;} 解析&#xff1a;前面的url是自定義…