請求重定向的作用是將請求,重定向至另外乙個處理程式。它的特點是兩次請求,瀏覽器位址會改變,使用者可以感知
**操作,可以使用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
方法把需要的引數新增進去
在**的控制器依然可以拿到路徑引數
addflashattribute
和addattribute
的區別是,前者實際是把資訊存在使用者的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方法統一新增請...