Java中重定向傳參與取值問題

重定向:不僅可以重定向到當前應用程序中的其他資源,還可以重定向到同一個站點上的其他應用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源

  • 1、重定向基本語法
@PostMapping(value = "/test")
public String index() {
    return "redirect:index";
}

當我們請求 test 時,重定向到 index 請求中,當然,也可以直接重定向到頁面 redirect:index.html

  • 2、重定向傳參
@PostMapping(value = "/test")
public String index(RedirectAttributes attributes) {
    attributes.addFlashAttribute("msg", "提示信息");
    return PasswordUtils.redirectTo("/index");
}

我們在重定向時,藉助了 RedirectAttributes 對象傳入了 msg 參數

注意:
addAttribute,會將參數放入路徑傳遞,例如:127.0.0.1:8080/index?msg=提示信息
addFlashAttribute,不會把參數放入路徑傳遞,例如:127.0.0.1:8080/index

  • 3、重定向接收參數
@RequestMapping(value = "/index")
public ModelAndView index(@ModelAttribute("msg") String msg) {
    ModelAndView mav = new ModelAndView("index");
    // 頁面提示語
    mav.addObject("msg", msg);
    return mav;
}

我們使用 @ModelAttribute 接收了參數 msg,將參數賦值給 ModelAndView 對象,傳給客戶端

Java 中重定向傳參與取值問題就講到這兒 END

如您在閱讀中發現不足,歡迎留言!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章