SpringMVC數(shù)據(jù)頁響應ModelAndView實現(xiàn)頁面跳轉(zhuǎn)
SpringMVC的數(shù)據(jù)響應
SpringMVC的數(shù)據(jù)響應方式
①頁面跳轉(zhuǎn)
- 直接返回字符串(如在一個方法中,return了一個"xxx.jsp",就會轉(zhuǎn)發(fā)到那個jsp頁面中,這就是直接返回字符串的形式)
- 通過ModelAndView對象返回
②回寫數(shù)據(jù)
- 直接返回字符串(相當于在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ù)據(jù)(鍵值對,鍵為String,值為Oject)
modelAndView.addObject("username", 1);
//設置視圖名字
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表達式,這樣瀏覽器訪問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ù)據(jù)(鍵值對,鍵為String,值為Oject)
modelAndView.addObject("username", "babala");
//設置視圖名字
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ù)據(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ù)據(jù)(鍵值對,鍵為String,值為Oject)
request.setAttribute("username","kckckc");
return "KCandZH";
}
}方式3和方式4的區(qū)別,model是SpringMVC封裝好的,而HttpServletRequest是原生的javaweb,是由tomcat服務器產(chǎn)生的,這個產(chǎn)生的對象中有數(shù)據(jù),有http請求的數(shù)據(jù)(請求行,請求體....),model對象則是空的。方式4不常用
到此這篇關于SpringMVC數(shù)據(jù)頁響應ModelAndView實現(xiàn)頁面跳轉(zhuǎn)的文章就介紹到這了,更多相關SpringMVC頁面跳轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java+MySQL實現(xiàn)設計優(yōu)惠券系統(tǒng)
這篇文章主要介紹了Java+MySQL實現(xiàn)設計優(yōu)惠券系統(tǒng),文章基于Java與MySQL的相關資料展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05
maven項目中<scope>provided</scope>的作用及說明
這篇文章主要介紹了maven項目中<scope>provided</scope>的作用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
@RequestParam 接收參數(shù)的值為null的處理方式
這篇文章主要介紹了@RequestParam 接收參數(shù)的值為null的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11

