SpringMVC后端Controller頁面跳轉的三種方式匯總
一、前言
常見的Web開發(fā)中,我們在使用SpringMVC框架時,經常遇到多種不同情況下不同的返回方式,有的多種返回頁面的方式,也有的是多種返回數據到前端的方式
這篇文章主要總結常見Web開發(fā)中針對不同情況返回頁面的方式。
二、根據 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";
}三、根據 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串");
}四、根據 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","李四"); //綁定傳遞的數據
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","李四"); //綁定傳遞的數據
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","李四"); //綁定傳遞的數據
return modelAndView;
}總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解IntelliJ IDEA 自帶的 HTTP Client 接口調用插件吊打 Postman
HTTP Client 是 IDEA 自帶的一款簡潔輕量級的接口調用插件,通過它,我們能在 IDEA 上開發(fā),調試,測試 RESTful Web 服務,接下來通過本文給大家分享IntelliJ IDEA 自帶的 HTTP Client 接口調用插件吊打 Postman的知識,感興趣的朋友一起看看吧2021-05-05
Spring rest接口中的LocalDateTime日期類型轉時間戳
這篇文章主要介紹了Spring rest接口中的LocalDateTime日期類型轉時間戳的方法,Java程序中一般將日期類型定義為LocalDateTime,數據庫中保存的時間是0時區(qū)的時間2023-03-03

