SpringMVC后端Controller頁面跳轉(zhuǎn)的三種方式匯總
一、前言
常見的Web開發(fā)中,我們在使用SpringMVC框架時(shí),經(jīng)常遇到多種不同情況下不同的返回方式,有的多種返回頁面的方式,也有的是多種返回?cái)?shù)據(jù)到前端的方式
這篇文章主要總結(jié)常見Web開發(fā)中針對不同情況返回頁面的方式。
二、根據(jù) String 字符串跳轉(zhuǎn)
1、返回字符串 --- 返回jsp頁面
/**
* description: 返回字符串 --- 返回jsp頁面,JSP通過EL表達(dá)式取值
* @author cao
* @date 2019年4月10日 下午10:17
*/
@RequestMapping(value={"/forwardJsp"})
public String forwardJsp(Model model){
model.addAttribute("name", "張三");
return "modules/sys/sysLogin";
}2、返回字符串 --- 服務(wù)端轉(zhuǎn)發(fā)
/**
* description: 返回字符串 --- 服務(wù)端轉(zhuǎn)發(fā),JSP頁面通過EL表達(dá)式取值
* @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 進(jìn)行跳轉(zhuǎn)
1、返回 void --- 請求轉(zhuǎn)發(fā)(request轉(zhuǎn)發(fā))
/**
* description: 返回 void --- 請求轉(zhuǎn)發(fā)(request轉(zhuǎn)發(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", "請求轉(zhuǎn)發(fā)(服務(wù)端轉(zhuǎn)發(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 對象進(jìn)行跳轉(zhuǎn)
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");//指定跳轉(zhuǎn)的頁面
modelAndView.addObject("name","李四"); //綁定傳遞的數(shù)據(jù)
return modelAndView;
}2、返回對象 ModelAndView --- 服務(wù)端轉(zhuǎn)發(fā)
/**
* description: 返回對象 ModelAndView --- 服務(wù)端轉(zhuǎn)發(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;
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解MyBatis的Dao層實(shí)現(xiàn)和配置文件深入
這篇文章主要為大家詳細(xì)介紹了MyBatis的Dao層實(shí)現(xiàn)和配置文件深入,文中的示例代碼講解詳細(xì),感興趣的小伙伴快來跟隨小編一起學(xué)習(xí)一下2022-07-07
mybatis用攔截器實(shí)現(xiàn)字段加解密全過程
本文通過自定義注解和MyBatis攔截器實(shí)現(xiàn)敏感信息加密,處理Parameter和ResultSet,確保數(shù)據(jù)庫存儲(chǔ)安全且查詢結(jié)果解密可用2025-08-08
擴(kuò)展tk.mybatis的流式查詢功能實(shí)現(xiàn)
mybatis查詢默認(rèn)是一次獲取全部,如果數(shù)據(jù)過于龐大,就會(huì)導(dǎo)致OOM問題,本文就介紹了tk.mybatis 流式查詢,具有一定的參考價(jià)值,感興趣的可以了解一下2021-12-12
詳解IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman
HTTP Client 是 IDEA 自帶的一款簡潔輕量級的接口調(diào)用插件,通過它,我們能在 IDEA 上開發(fā),調(diào)試,測試 RESTful Web 服務(wù),接下來通過本文給大家分享IntelliJ IDEA 自帶的 HTTP Client 接口調(diào)用插件吊打 Postman的知識,感興趣的朋友一起看看吧2021-05-05
Spring MVC學(xué)習(xí)教程之視圖深入解析
這篇文章主要給大家介紹了關(guān)于Spring MVC學(xué)習(xí)教程之視圖解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或使用spring mvc具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-11-11
Spring rest接口中的LocalDateTime日期類型轉(zhuǎn)時(shí)間戳
這篇文章主要介紹了Spring rest接口中的LocalDateTime日期類型轉(zhuǎn)時(shí)間戳的方法,Java程序中一般將日期類型定義為LocalDateTime,數(shù)據(jù)庫中保存的時(shí)間是0時(shí)區(qū)的時(shí)間2023-03-03

