SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn)
SpringMVC的數(shù)據(jù)響應(yīng)
SpringMVC的數(shù)據(jù)響應(yīng)方式
①頁面跳轉(zhuǎn)
- 直接返回字符串(如在一個方法中,return了一個"xxx.jsp",就會轉(zhuǎn)發(fā)到那個jsp頁面中,這就是直接返回字符串的形式)
- 通過ModelAndView對象返回
②回寫數(shù)據(jù)
- 直接返回字符串(相當(dāng)于在javaweb里的resp.getwrite(),print)
- 返回對象或集合
頁面跳轉(zhuǎn)
1、返回字符串形式
直接返回字符串:此種方式會將返回的字符串與視圖解析器的前后綴拼接后跳轉(zhuǎn)。

返回帶有前綴的字符串:
轉(zhuǎn)發(fā):forward:/WEB_INF/views/index.jsp(forward可以省略不寫)
重定向:redirect:/index.jsp
2、返回ModelAndView對象
方式1:直接new對象
//配置類,使用注解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
@RequestMapping(value = "/ZengHui2")
public ModelAndView save2(){
/*
Model 模型 作用是封裝數(shù)據(jù)
View 視圖 作用是展示數(shù)據(jù)
*/
ModelAndView modelAndView=new ModelAndView();
//設(shè)置模型數(shù)據(jù)(鍵值對,鍵為String,值為Oject)
modelAndView.addObject("username", 1);
//設(shè)置視圖名字
modelAndView.setViewName("KCandZH");//經(jīng)過前后綴拼接就位/jsp/KCandZH.jsp
return modelAndView;
}
}在jsp包下的KCandZH.jsp中
<html>
<head>
<base href="<%=basepath %>" rel="external nofollow" />
<meta charset="utf-8"/>
<title>Insert title here</title>
</head>
<body>
kCandZH forever ${username}
</body>
</html>加上一個El表達(dá)式,這樣瀏覽器訪問localhost:8080/KongChao/ZengHui2,就會顯示出kCandZH forever 1

方式2:寫在方法里讓SpringMVC創(chuàng)建
也可以不new對象的方式,在方法中直接寫model對象,SpringMVC會自動幫你創(chuàng)建
//配置類,使用注解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
@RequestMapping(value = "/ZengHui3")
public ModelAndView save3( ModelAndView modelAndView){
//設(shè)置模型數(shù)據(jù)(鍵值對,鍵為String,值為Oject)
modelAndView.addObject("username", "babala");
//設(shè)置視圖名字
modelAndView.setViewName("KCandZH");//經(jīng)過前后綴拼接就位/jsp/KCandZH.jsp
return modelAndView;
}
}方式3:model和view分開做
model是SpringMVC框架封裝好的
//配置類,使用注解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
@RequestMapping(value = "/ZengHui4")
public String save4(Model model){//是model
//設(shè)置模型數(shù)據(jù)(鍵值對,鍵為String,值為Oject)
model.addAttribute("username","曾慧");
return "KCandZH";//是view
}
}方式4:通過HttpServletRequest
//配置類,使用注解把這個類放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
@RequestMapping(value = "/ZengHui5")
public String save5(HttpServletRequest request){//是model
//設(shè)置模型數(shù)據(jù)(鍵值對,鍵為String,值為Oject)
request.setAttribute("username","kckckc");
return "KCandZH";
}
}方式3和方式4的區(qū)別,model是SpringMVC封裝好的,而HttpServletRequest是原生的javaweb,是由tomcat服務(wù)器產(chǎn)生的,這個產(chǎn)生的對象中有數(shù)據(jù),有http請求的數(shù)據(jù)(請求行,請求體....),model對象則是空的。方式4不常用
到此這篇關(guān)于SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān)SpringMVC頁面跳轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問題
- 如何利用Spring?MVC實(shí)現(xiàn)RESTful風(fēng)格
- springmvc Rest風(fēng)格介紹及實(shí)現(xiàn)代碼示例
- SpringMVC開發(fā)restful API之用戶查詢代碼詳解
- Spring MVC利用Swagger2如何構(gòu)建動態(tài)RESTful API詳解
- SpringMVC Restful api接口實(shí)現(xiàn)的代碼
- Spring MVC 文件、cookies的接收 與REST響應(yīng)詳解
相關(guān)文章
Java+MySQL實(shí)現(xiàn)設(shè)計(jì)優(yōu)惠券系統(tǒng)
這篇文章主要介紹了Java+MySQL實(shí)現(xiàn)設(shè)計(jì)優(yōu)惠券系統(tǒng),文章基于Java與MySQL的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05
詳細(xì)介紹使用Java調(diào)用Python的四種方法
這篇文章主要給大家介紹了關(guān)于使用Java調(diào)用Python的四種方法,每種方法根據(jù)實(shí)際項(xiàng)目需求有其適用場景,其中,推薦使用Runtime.getRuntime()方法,因?yàn)樗鼮楹啙嵡乙子趯?shí)現(xiàn),需要的朋友可以參考下2024-10-10
maven項(xiàng)目中<scope>provided</scope>的作用及說明
這篇文章主要介紹了maven項(xiàng)目中<scope>provided</scope>的作用及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
Java驗(yàn)證時(shí)間格式是否正確方法類項(xiàng)目實(shí)戰(zhàn)
在很多場景中我們需要驗(yàn)證時(shí)間日期的是否屬于正確的格式,驗(yàn)證時(shí)間是否符合常規(guī)的,本文就來介紹一下幾種方式,感興趣的可以了解一下2022-04-04
@RequestParam 接收參數(shù)的值為null的處理方式
這篇文章主要介紹了@RequestParam 接收參數(shù)的值為null的處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring AOP切點(diǎn)表達(dá)式使用及說明
這篇文章主要介紹了Spring AOP切點(diǎn)表達(dá)式使用及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

