Spring mvc重定向傳遞引數

2021-07-25 03:36:26 字數 1101 閱讀 7502

問題背景:

做電商專案,有些操作需要登入才能進行,乙個url被session過濾器攔截後,被鏈結到登入介面,輸入賬號、密碼等資訊後,登入成功,還需回到使用者請求的url,並且需要此url攜帶登入前的引數

1、session過濾器獲取引數

//獲取使用者請求的url

string pathinfo = request.getrequesturi();

//獲取url攜帶的引數

stringbuffer params=new stringbuffer();

mapmap = request.getparametermap();

set> set = map.entryset();

iterator> it = set

.iterator();

while (it.hasnext())

} request.getsession().setattribute("redirecturl", pathinfo.substring(pathinfo.indexof(request.getcontextpath())+request.getcontextpath().length()));

request.getsession().setattribute("params", params.tostring());

response.sendredirect(request.getcontextpath()+"/member/login.html")

2、登入成功後,回到url,並攜帶引數

方法一:用modelandview傳遞引數

方法二:用redirectattributes傳遞引數

//回到使用者請求的url

return

"redirect:"+redirecturl;

}

SpringMVC重定向傳遞引數

閱讀spring實戰 第四版 看到了跨重定向請求傳遞資料,做了筆記,以備不時之需。public string reqstrs model model 瀏覽器位址顯示 使用佔位符填充到url模版中,而非直接連線到重定向string中,這樣更加安全。public string reqstrsflash ...

spring mvc 重定向時引數傳遞

實現登入後跳轉到登入前頁面時,發現用model.addattribute 再redirect,跳轉後url會附上引數。如 model.addattribute msg 使用者名稱或密碼錯誤 跳轉後會是 位址?msg 使用者名稱或密碼錯誤 若想去掉,可以使用redirectattributes的add...

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

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