MVC redirect重定向跳轉傳值

2021-09-03 08:15:52 字數 1894 閱讀 7204

數拼接url形式跳轉,帶引數不拼接引數跳轉,頁面也能顯示。 

首先先來介紹一下不帶引數的重定向: 

我在後台乙個controller跳轉到另乙個controller,為什麼有這種需求呢,是這樣的。我有乙個列表頁面,然後我會進行新增操作,新增在後台完成之後我要跳轉到列表頁面,不需要傳遞引數,列表頁面預設查詢所有的。 

方式一:使用modelandview(這是spring 2.0的時候所用到的方法) 

return new modelandview("redirect:/tolist"); 

這樣可以重定向到tolist這個方法 

方式二:返回string 

return "redirect:/ tolist "; 

然後在說一下帶引數的重定向 

第二種情況,列表頁面有查詢條件,跳轉後我的查詢條件不能丟掉,這樣就需要帶引數的了,帶引數可以拼接url 

方式一:自己手動拼接url 

new modelandview("redirect:/tolist?param1="+value1+"¶m2="+value2); 

這樣有個弊端,就是傳中文可能會有亂碼問題。 

方式二:用redirectattributes,這個是發現的乙個比較好用的乙個類 

這裡用它的addattribute方法,這個實際上重定向過去以後你看url,是它自動給你拼了你的url。 

使用方法: 

public string test(redirectattributes attributes) 

這樣在tocontroller這個方法中就可以通過獲得引數的方式獲得這個引數,再傳遞到頁面。過去的url還是和方式一一樣的。如果你細心的看重定向之後的url位址的話,你就會發現其實和上面的位址是一樣的,這樣也會出現上面那個方法出現的問題。 

重點來了,咱們介紹乙個不會出現中文亂碼,而且不會在你的url上出現你所要傳遞的資料的,這樣就可以保證你在傳遞資料的安全 

public string red(redirectattributes attributes) 

咱們用上面的方法進行資料傳遞你就會發現不會再url上出現你要傳遞的資料,那麼資料放到**去了,我們就來看看這是spring 3.0新出現的特性,attributes.addflashattribute("test", "hello")實際儲存的屬性在flashmap,那麼flashmap又是什麼呢? 

flash 屬性 和 redirectattribute:通過flashmap儲存乙個請求的輸出,當進入另乙個請求時作為該請求的輸入,典型場景如重定向(post-redirect-get模式,1、post時將下一次需要的資料放在flashmap;2、重定向;3、通過get訪問重定向的位址,此時flashmap會把1放到flashmap的資料取出放到請求中,並從flashmap中刪除;從而支援在兩次請求之間儲存資料並防止了重複表單提交)。 

spring web mvc提供flashmapmanager用於管理flashmap,預設使用sessionflashmapmanager,即資料預設儲存在session中 

既然知道了怎麼回事,那麼我們就可以把它提取出來,怎麼提取呢,很多人會說,既然存在session中,那就從session中獲取,結果發現沒有,那怎麼辦? 

下面我就給大家提供兩個方法讓大家把addflashattribute中的資料提取出來 

方法一:利用httpservletrequest 

方法二:利用spring提供的標籤@modelattribute 

public string test2(@modelattribute("test") string str) 

以上兩種方法是在後台controller層獲取值的方法,如果是在前台頁面的話,就會比較簡單,直接利用el表示式就可以取到資料

node 重定向 express 重定向

服務端重定向對非同步請求無效 如何通過伺服器讓客戶端重定向 1.狀態碼設定為302 臨時重定向,301永久重定向 瀏覽器會記住 當再次請求相同位址的時候,瀏覽器不會重新請求該位址,會直接跳轉上一次請求該位址時的重定向位址 res.statuscode 2.在響應頭中通過 location 告訴客戶端...

輸入重定向,正確輸出重定向,錯誤輸出重定向

一 標準輸入 stdin a.輸入重定向 標準輸入 作用 將原先鍵盤輸入的內容改由檔案內容代替 root wenwen cat test.txt asdas asdas asdas 按crtl d 退出 將network內容匯入到test.txt中去 root wenwen cat test.txt...

icmp重定向實驗ensp icmp重定向實驗

一 實驗拓撲圖 二 實驗要求 三 實驗步驟配置 1 配置r0 r1 r2 r3的ip位址 r0 int f0 0 ip add 10.1.1.1 255.0.0.0 no sh r1 int f0 0 ip add 10.2.2.2 255.0.0.0 no sh r2 int f0 0 ip ad...