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)文章
Hibernate雙向多對多映射關(guān)系配置代碼實(shí)例
這篇文章主要介紹了Hibernate雙向多對多映射關(guān)系配置代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10MyBatis Plus Mapper CRUD接口測試方式
在數(shù)據(jù)庫管理系統(tǒng)中,插入記錄是添加新數(shù)據(jù)條目,而刪除操作包括根據(jù)主鍵ID單條刪除和批量刪除,也可以基于特定條件進(jìn)行刪除,刪除操作的SQL語句是通過鍵值對在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09Spring boot如何配置請求的入?yún)⒑统鰠son數(shù)據(jù)格式
這篇文章主要介紹了spring boot如何配置請求的入?yún)⒑统鰠son數(shù)據(jù)格式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11Java List接口與Iterator接口及foreach循環(huán)使用解析
這篇文章主要介紹了Java List接口與Iterator接口及foreach循環(huán),主要包括List接口與Iterator接口及foreach循環(huán)具體的使用方法和代碼,需要的朋友可以參考下2022-04-04java Spring整合Freemarker的詳細(xì)步驟
本文對Spring整合Freemarker步驟做了詳細(xì)的說明,按步驟操作一定可以整合通過,這里提供給大家做參考2013-11-11springboot統(tǒng)一返回json數(shù)據(jù)格式并配置系統(tǒng)異常攔截方式
這篇文章主要介紹了springboot統(tǒng)一返回json數(shù)據(jù)格式并配置系統(tǒng)異常攔截方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08