SpringMVC后端Controller頁面跳轉的三種方式匯總
一、前言
常見的Web開發(fā)中,我們在使用SpringMVC框架時,經(jīng)常遇到多種不同情況下不同的返回方式,有的多種返回頁面的方式,也有的是多種返回數(shù)據(jù)到前端的方式
這篇文章主要總結常見Web開發(fā)中針對不同情況返回頁面的方式。
二、根據(jù) String 字符串跳轉
1、返回字符串 --- 返回jsp頁面
/** * description: 返回字符串 --- 返回jsp頁面,JSP通過EL表達式取值 * @author cao * @date 2019年4月10日 下午10:17 */ @RequestMapping(value={"/forwardJsp"}) public String forwardJsp(Model model){ model.addAttribute("name", "張三"); return "modules/sys/sysLogin"; }
2、返回字符串 --- 服務端轉發(fā)
/** * description: 返回字符串 --- 服務端轉發(fā),JSP頁面通過EL表達式取值 * @author cao * @date 2019年4月10日 下午10:20 */ @RequestMapping(value={"/forward"}) public String forward(Model model){ model.addAttribute("name", "張三"); return "forward:forwardJsp"; }
3、返回字符串 --- 客戶端重定向
/** * description: 返回字符串 --- 客戶端重定向 * @author cao * @date 2019年4月10日 下午10:27 */ @RequestMapping(value="/redirect") public String redirect(){ return "redirect:"+"/forward"; }
三、根據(jù) request 或 response 進行跳轉
1、返回 void --- 請求轉發(fā)(request轉發(fā))
/** * description: 返回 void --- 請求轉發(fā)(request轉發(fā)) * @author cao * @date 2019年4月10日 下午10:26 */ @RequestMapping(value="/requestForward") public void requestForward(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ request.setAttribute("name", "請求轉發(fā)(服務端轉發(fā))"); request.getRequestDispatcher("/forward").forward(request, response); }
2、返回 void --- 重定向 (response)
/** * description: 返回 void --- 重定向 (response) * @author cao * @date 2019年4月10日 下午10:29 */ @RequestMapping(value="/response") public void response(HttpServletResponse response) throws IOException{ response.sendRedirect("/forwardJsp"); }
3、返回 void --- Json字符串
/** * description: 返回 void --- Json字符串 * @author cao * @date 2019年4月10日 下午10:30 */ @RequestMapping(value="/responseJson") public void responseJson(HttpServletResponse response) throws IOException{ response.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); response.getWriter().write("json串"); }
四、根據(jù) ModelAndView 對象進行跳轉
1、返回對象 ModelAndView --- 返回 jsp 頁面
/** * description: 返回對象 ModelAndView --- 返回 jsp 頁面 * @author cao * @date 2019年4月10日 下午10:32 */ @RequestMapping(value="/modelAndViewJsp") public ModelAndView modelAndViewJsp(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("modules/sys/sysLogin");//指定跳轉的頁面 modelAndView.addObject("name","李四"); //綁定傳遞的數(shù)據(jù) return modelAndView; }
2、返回對象 ModelAndView --- 服務端轉發(fā)
/** * description: 返回對象 ModelAndView --- 服務端轉發(fā) * @author cao * @date 2019年4月10日 下午10:37 */ @RequestMapping(value="/modelAndViewForward") public ModelAndView modelAndViewForward(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("forward:/forwardJsp"); modelAndView.addObject("name","李四"); //綁定傳遞的數(shù)據(jù) return modelAndView; }
3、返回對象 ModelAndView --- 重定向
/** * description: 返回對象 ModelAndView --- 重定向 * @author cao * @date 2019年4月10日 下午10:40 */ @RequestMapping(value="/modelAndViewRedirect") public ModelAndView modelAndViewRedirect(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("redirect:/forwardJsp"); modelAndView.addObject("name","李四"); //綁定傳遞的數(shù)據(jù) return modelAndView; }
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringSecurity+Redis+Jwt實現(xiàn)用戶認證授權
SpringSecurity是一個強大且靈活的身份驗證和訪問控制框架,本文主要介紹了SpringSecurity+Redis+Jwt實現(xiàn)用戶認證授權,具有一定的參考價值,感興趣的可以了解一下2024-07-07PowerJob的IdGenerateService工作流程源碼解讀
這篇文章主要為大家介紹了PowerJob的IdGenerateService工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01springboot整合xxl-job實現(xiàn)分布式定時任務的過程
XXL-JOB是一個分布式任務調(diào)度平臺,其核心設計目標是開發(fā)迅速、學習簡單、輕量級、易擴展,這篇文章主要介紹了springboot整合xxl-job分布式定時任務,需要的朋友可以參考下2022-08-08PostMan如何傳參給@RequestBody(接受前端參數(shù))
這篇文章主要介紹了PostMan如何傳參給@RequestBody(接受前端參數(shù)),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10