springmvc請求重定向

2021-10-01 11:45:04 字數 2045 閱讀 5394

請求重定向的作用是將請求,重定向至另外乙個處理程式。它的特點是兩次請求,瀏覽器位址會改變,使用者可以感知

**操作,可以使用modelandview物件

return

newmodelandview

("redirect:viewname"

,modelmap)

;

也可以直接返回字串檢視名

return

"redirect:viewname"

;

當重定向需要攜帶引數時可以使用redirectattributes

package com.example.redirect.controller;

import org.springframework.stereotype.controller;

import org.springframework.web.bind.annotation.pathvariable;

import org.springframework.web.servlet.mvc.support.redirectattributes;

@controller

public

class

hellocontroller")

public string hello

(@pathvariable string name, redirectattributes redirectattributes)";

}}

另乙個控制器

package com.example.redirect.controller;

import org.springframework.stereotype.controller;

import org.springframework.web.bind.annotation.pathvariable;

import org.springframework.web.bind.annotation.responsebody;

@controller

public

class

welcomcontroller")

@responsebody

public string welcome

(@pathvariable string name)

}

使用addflashattribute方法把需要的引數新增進去

在**的控制器依然可以拿到路徑引數

addflashattributeaddattribute的區別是,前者實際是把資訊存在使用者的session裡,然後在下次請求前刪除引數,路徑中看不到引數;後者是把引數新增在請求中,再進行重定向——引數會被新增在url裡

例如:原請求

http://localhost:8080/hello?name=123
重定向後

http://localhost:8080/welcome?name=123
在使用路徑引數時不能從路徑中看出差別

不使用路徑引數時addflashattribute新增的引數,在控制器中使用@modelattribute註解得到

("hello"

)public string hello

(string name, redirectattributes redirectattributes)

("welcome"

)@responsebody

public string welcome

(@modelattribute

("name"

) string name)

使用addattribute新增的引數,依然使用@requestparam獲取

spring mvc 請求重定向

1 我在後台乙個controller跳轉到另乙個controller 方式一 使用modelandview return new modelandview redirect tolist 這樣可以重定向到tolist這個方法 方式二 返回string return redirect tolist 其...

SpringMVC 跨重定向請求傳遞資料的方法實現

執行完post請求後,通常來講乙個最佳實踐就是執行重定向。重定向將丟棄原始請求資料,原始請求中的模型資料和請求都會消亡。可以有效避免使用者瀏覽器重新整理或者後退等操作,直接間接地重複執行已經完成的post請求。在控制方法中返回的檢視名稱中,在string前使用 redirect 字首,那麼這個str...

ajax請求重定向

一 ajax重定向的問題。第一步 後端 改造。在後端 大部分情況都是 中判斷是否需要重定向。eg session過期判斷,當判斷session已經過期了,就先判斷此次請求是否是ajax的請求。方法 override 第二步 前段改造ajax屬性。通過 ajaxsetup 方法給ajax方法統一新增請...