forword跳轉頁面的三種方式
1.使用serlvet
/** * 使用forward跳轉,傳遞基本類型參數到頁面 * 注意: * 1.使用servlet原生API Request作用域 * */ @RequestMapping("/test") public String test(HttpServletRequest request,HttpServletResponse response){ String name = "張小三"; request.setAttribute("name",name); return "/back/attr"; }
2.使用Model對象
/** * 使用forward跳轉,傳遞基本類型參數到頁面 * 注意: * 1.使用springmvc 封裝好的Model對象(底層就是request作用域) */ @RequestMapping("/test1") public String test1(Model model){ String name = "張小四"; model.addAttribute("name", name); return "back/attr"; }
3.使用ModelAndView
/** * 使用modelAndView * 注意事項 * modelAndView對象中的數據只能被ModelAndView對象的視圖獲取 */ @RequestMapping("/test2") public ModelAndView test2(ModelAndView modelAndView){ String name = "張小五"; modelAndView.setViewName("back/attr"); modelAndView.addObject("name", name); return modelAndView; }
當然也可以通過new 一個ModelAndView對象來實現
@RequestMapping("/test3")
public ModelAndView test3(){
String name = "張小六";
return new ModelAndView("back/attr", "name", name);
}
redirect跳轉到頁面
使用servlet
/** * 使用redirect跳轉 向頁面傳遞數據 * 1.使用Servlet原生API Session ServletContext */ @RequestMapping("/test4") public String test4(HttpServletRequest request,HttpSession session){ String name = "張曉霞"; session.setAttribute("name", name); return "redirect:/back/attr.jsp"; }
使用ModelAndView
/** * 使用redirect跳轉 向頁面傳遞數據 * 1..使用ModelAndView對象 modelAndView對象會把model中的數據以?形式拼接到地址欄后 可以使用${param.key}接受 */ @RequestMapping("/test5") public ModelAndView test5(){ return new ModelAndView("redirect:/back/attr.jsp","name","小張張"); }
跳轉到Controller中的方法
forword跳轉
redirect跳轉類似
跳轉到相同類中的方法:
/**
* 使用forword跳轉到相同類中的某一方法
* 注意:
* 1.不需要加上類上的@RequestMapping的值
*/
@RequestMapping("/test00") public String test00(){ return "forward:test1"; }
跳轉到不同類中的方法:
/**
* 使用forword跳轉到不同類中的某一方法
* 注意:
* 1.需要加上類上的@RequestMapping的值:比如 :/hello
*/
@RequestMapping("/test01") public String test01(){ return "forward:/hello/test"; }
