1. 程式人生 > >重定向時傳輸資料

重定向時傳輸資料

概要: 當一個處理器方法完成之後,該方法所指定的模型資料將會複製到請求中,並作為請求中的屬性,請求會轉發(forward)到檢視上進行渲染。因為控制器方法和檢視所處理的是同一個請求,所以在轉發的過程中,請求屬效能夠得以儲存。 但是,當控制器的結果是重定向的話,原始的請求就結束了,並且會發起一個新的GET請求。原始請求中所帶有的模型資料也隨著請求消亡了。 有兩種方式可以在重定向中傳輸資料 : ①使用URL模板以路徑變數和/或查詢引數的形式傳遞引數。//只能傳遞簡單型別的引數通過flash屬性發送資料。 方式一的示例: @RequestMapping(method=RequestMethod.GET) public String spittles(Model model){ //map型別也可以做為模型 model.addAttribute("pid", "wahahah"); model.addAttribute("username", "haha"); return "redirect:/spi/{username}"; //衝向的路徑形式是:/spi/haha?pid=wahahah } @RequestMapping("/spi/{username}") public void tets(@PathVariable("username")String username,String pid ){ System.out.println(username); System.out.println(pid); } 方式二示例: 通過flash其實是將資料放到會話中,然後再取出。
@RequestMapping(method=RequestMethod.GET) public String spittles(RedirectAttributes model){ //map型別也可以做為模型 model.addFlashAttribute("spittles", spittleRespository.findSpittles(Long.MAX_VALUE, 20)); model.addAttribute("pid", "wahahah"); model.addAttribute("username", "haha"); return "redirect:/spittles/spi/{username}"; } @RequestMapping("/spi/{username}") public void tets(@PathVariable("username")String username,String pid ,Model model){ if(model.containsAttribute("spittles")){ Map<String, Object> asMap = model.asMap(); ArrayList<Spittle> list = (ArrayList<Spittle>) asMap.get("spittles"); System.out.println(Arrays.toString(list.toArray())); } System.out.println(username); System.out.println(pid); }

相關推薦

定向傳輸資料

概要: 當一個處理器方法完成之後,該方法所指定的模型資料將會複製到請求中,並作為請求中的屬性,請求會轉發(forward)到檢視上進行渲染。因為控制器方法和檢視所處理的是同一個請求,所以在轉發的過程中,請求屬效能夠得以儲存。 但是,當控制器的結果是重定向的話,原始的請

SpringMVC入門之十一:跨定向請求傳遞資料

通常,當我們處理完POST請求之後,出於安全的考慮(防止使用者重新整理或後退而重新執行危險的POST請求),會將請求重定向,在前面,我們藉助了“redirect:”來實現這一功能。”redirect:”字首能夠讓重定向功能變得非常簡單,但是Spring為重定向功能還提供了一些

SpringMVC中使用forward和redirect進行轉發和定向以及定向如何傳參詳解

轉自:http://blog.51cto.com/983836259/1877188 2016-11-28 09:45:59   如題所示,在SpringMVC中可以使用forward和redirect關鍵字在Controller中對原請求進行轉發或重定向到其

Controller定向新增引數

         今天專案中遇到一個小麻煩,在進行新增或者刪除等一些操作,又跳回到原頁面,但所有資料都已經沒有了,因為是之前第一次跳轉頁面時攜帶的有引數,執行完一些操作之後,丟失了之前的引數,所以沒有資料顯示。是個小

Mysql資料問題

一、 對於mysql的重灌操作之前的說明: 1.備份好新舊mysql的data目錄和ini檔案 2.此操作只適用於mysql的重灌,要求前後的mysql版本完全一樣,版本不一樣是不保證此法能順利完成新舊資料庫中的資料複製 二、 操作: 1.以管理員身

springMVC定向引數傳遞及中文引數亂碼問題

springMVC重定向時,若需要帶引數,如果直接用return "redirect:/items?g="+group的話,一者跳轉時引數可見不安全,二者,中文引數可能會亂碼,此時可在當前方法入參中加入RedirectAttributes attr,然後在方法體中用attr

java中httpclent以post方式提交請求,http返回碼是302定向,不自動跳轉的處理

場景: 介面A:請求地址為http://www.test.com/test 介面A的功能,會把接收到的引數url寫入到header的Location屬性中 在java中,使用httpclient傳送請求, 在以get方式傳送請求時,http的返回碼是200,自動處理了重定

定向定向方式變成post請求

public class HttpClientPostFs {Map<String, String> parameter=new HashMap<String, String>();HttpServletResponse response;publi

SpringMVC跨定向請求傳遞資料

(1)使用URL模板以路徑變數和查詢引數的形式傳遞資料(一些簡單的資料) 1 @GetMapping("/home/index") 2 public String index(Model model){ 3 Meinv meinv = new Meinv("gao

Nginx 定向獲取域名的方法示例

本篇文章主要介紹了Nginx 重定向時獲取域名的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 TL;DR 如果你在處理 Nginx 重定向時要獲取原請求的域名(比如 HTTP 到 HTTPS),請用 $host 而不是 $server_name 。

使用Process類定向出現阻塞的解決方案

    Process process = new Process();    process.StartInfo.FileName = "cmd.exe";    process.StartInfo.UseShellExecute = false;    process.StartInfo.Redirect

NSURLProtocol處理定向需要注意301和302狀態

-(NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)respo

ie定向,session失效問題解決辦法

Response.AddHeader "P3P”,"CP=CAO PSA OUR” java code : response.setHeader("P3P", "CP=CAO PSA OUR"); 一段解決IFRAME中SESSION無法保留的程式碼. 這個是屬於H

【6】 angular 路由基礎知識_在路由傳遞資料_定向路由_子路由_輔助路由_路由守衛

路由基礎知識   路由相關物件介紹   新建一個專案 ng new router --routing 並使用webstrom 開啟  發現--routing 引數建立後 會多出一個檔案app-routing.module.ts 就是當前應用的路徑配置

oauth X-Frame-Options 跳轉授權頁面,302定向禁用iframe

授權 ngx auth option rest pairs 測試 authorize iframe 因為oauth/authorize響應頭包含X-Frame-Options: DENY解決方案:openresty nginx 移除該屬性,經測試生效 more_clear

thinkphp5.0 編輯界面驗證不合法後定向到編輯界面,給編輯界面重新分配數據

規則 names 得到 還記得 輸入 分配 優先級 rule 獲取 首先,看一看 錯誤場景: 比如說我們有這樣一個編輯界面: 而我們有這樣一些驗證方法(註:采用的是thinkphp5.0的驗證規則) namespace app\admin\validate; use th

java_day22_servlet定向,字節流傳輸

請求 day2 direct 重定向 resp java 路徑 oca servle Servlet基礎 一.重定向   1.方法一:     resp.setStatus(302);//添加響應碼302,請求重定向     resp.addHeader("location

轉載:C#關閉檔案定向,實現操作System32資料

我們已經知道:     ①:本機模式64位程式執行在純模式下,並且訪問鍵和儲存在以下注冊表子鍵中的值:HKEY_LOCAL_MACHINE \ Software     ②:32位程式執行在WOW64模式下,並且訪問鍵和值儲存在以下注冊表子項中:HKEY_LOCAL_MACHINE \ So

Spring MVC(三)控制器獲取頁面請求引數以及將控制器資料傳遞給頁面和實現定向的方式

首先做好環境配置 在mvc.xml裡進行配置   1.開啟元件掃描   2.開啟基於mvc的標註   3.配置試圖處理器 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www

Servlet 獲取前端Form表單資料,並實現請求定向、請求轉發

1.前端介面 編寫一個最簡單的登入介面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title&g