SpringMVC視圖作用詳解
SpringMVC中的視圖是View接口,視圖的作用渲染數(shù)據(jù),將模型Model中的數(shù)據(jù)展示給用戶(hù)
SpringMVC視圖的種類(lèi)很多,默認(rèn)有轉(zhuǎn)發(fā)視圖和重定向視圖
當(dāng)工程引入jstl的依賴(lài),轉(zhuǎn)發(fā)視圖會(huì)自動(dòng)轉(zhuǎn)換為JstlView
若使用的視圖技術(shù)為T(mén)hymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的視圖解析器,由此視 圖解析器解析之后所得到的是ThymeleafView
一、ThymeleafView
當(dāng)控制器方法中所設(shè)置的視圖名稱(chēng)沒(méi)有任何前綴時(shí),此時(shí)的視圖名稱(chēng)會(huì)被SpringMVC配置文件中所配置的視圖解析器解析,視圖名稱(chēng)拼接視圖前綴和視圖
后綴所得到的最終路徑,會(huì)通過(guò)轉(zhuǎn)發(fā)的方式實(shí)現(xiàn)跳轉(zhuǎn)
<a th:href="@{/test/view/thymeleaf}" rel="external nofollow" >測(cè)試SpringMVC的視圖ThymeleafView</a>@Controller
public class TestViewController {
@RequestMapping("/test/view/thymeleaf")
public String testThymeleafView() {
return "success";
}
}二、轉(zhuǎn)發(fā)視圖
通過(guò)ThymeleafView轉(zhuǎn)發(fā)是可以進(jìn)行頁(yè)面渲染的,但是通過(guò)InternalResourceView轉(zhuǎn)發(fā)的頁(yè)面跳轉(zhuǎn)只能實(shí)現(xiàn)一個(gè)簡(jiǎn)單的轉(zhuǎn)發(fā),頁(yè)面中的Thymeleaf語(yǔ)法解析不了。所以這種方式我們不常用
SpringMVC中默認(rèn)的轉(zhuǎn)發(fā)視圖是InternalResourceView
SpringMVC中創(chuàng)建轉(zhuǎn)發(fā)視圖的情況:
當(dāng)控制器方法中所設(shè)置的視圖名稱(chēng)以"forward:"為前綴時(shí),創(chuàng)建InternalResourceView視圖,此時(shí)的視圖名稱(chēng)不會(huì)被SpringMVC配置文件中所配置的視圖解析器解析,而是會(huì)將前綴"forward:"去掉,剩余部 分作為最終路徑通過(guò)轉(zhuǎn)發(fā)的方式實(shí)現(xiàn)跳轉(zhuǎn)
例如"forward:/","forward:/employee"
<a th:href="@{/test/view/forward}" rel="external nofollow" >測(cè)試SpringMVC的視圖InternalResourceView</a> @RequestMapping("/test/view/forward")
public String testInternalResourceView() {
return "forward:/test/model";
}三、重定向視圖
SpringMVC中默認(rèn)的重定向視圖是RedirectView
當(dāng)控制器方法中所設(shè)置的視圖名稱(chēng)以"redirect:"為前綴時(shí),創(chuàng)建RedirectView視圖,此時(shí)的視圖名稱(chēng)不 會(huì)被SpringMVC配置文件中所配置的視圖解析器解析,而是會(huì)將前綴"redirect:"去掉,剩余部分作為最終路徑通過(guò)重定向的方式實(shí)現(xiàn)跳轉(zhuǎn)
例如"redirect:/","redirect:/employee"
<a th:href="@{/test/view/redirect}" rel="external nofollow" >測(cè)試SpringMVC的視圖RedirectView</a><br> @RequestMapping("test/view/redirect")
public String testRedirectView() {
return "redirect:/test/model";
}四、視圖控制器view-controller
當(dāng)控制器方法中,僅僅用來(lái)實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),即只需要設(shè)置視圖名稱(chēng)時(shí),可以將處理器方法使用view-controller標(biāo)簽進(jìn)行表示
注:
當(dāng)SpringMVC中設(shè)置任何一個(gè)view-controller時(shí),其他控制器中的請(qǐng)求映射將全部失效,此時(shí)需 要在SpringMVC的核心配置文件中設(shè)置開(kāi)啟mvc注解驅(qū)動(dòng)的標(biāo)簽:
<mvc:annotation-driven />
<!--開(kāi)啟mvc的注解驅(qū)動(dòng)-->
<mvc:annotation-driven />
<!--
視圖控制器:為當(dāng)前的請(qǐng)求直接設(shè)置視圖名稱(chēng)實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)
若設(shè)置視圖控制器,則只有視圖控制器所設(shè)置的請(qǐng)求會(huì)被處理,其他的請(qǐng)求將全部404
此時(shí)必須在配置一個(gè)標(biāo)簽:<mvc:annotation-driven />
-->
<mvc:view-controller path="/" view-name="index"></mvc:view-controller>到此這篇關(guān)于SpringMVC視圖作用詳解的文章就介紹到這了,更多相關(guān)SpringMVC視圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
安裝多個(gè)jdk導(dǎo)致eclipse打不開(kāi)問(wèn)題解決方案
這篇文章主要介紹了安裝多個(gè)jdk導(dǎo)致eclipse打不開(kāi)問(wèn)題解決方案,幫助大家更好的理解和使用eclipse,感興趣的朋友可以了解下2020-11-11
SpringBoot對(duì)數(shù)據(jù)訪(fǎng)問(wèn)層進(jìn)行單元測(cè)試的方法詳解
我們公司作為一個(gè)面向銀行、金融機(jī)構(gòu)的TO B類(lèi)企業(yè),頻繁遇到各個(gè)甲方爸爸提出的國(guó)產(chǎn)化數(shù)據(jù)庫(kù)的改造需求,包括OceanBase, TiDB,geldenDB等等,本文就介紹一種快高效、可復(fù)用的解決方案——對(duì)數(shù)據(jù)訪(fǎng)問(wèn)層做單元測(cè)試,需要的朋友可以參考下2023-08-08
java數(shù)據(jù)結(jié)構(gòu)與算法之桶排序?qū)崿F(xiàn)方法詳解
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之桶排序?qū)崿F(xiàn)方法,結(jié)合具體實(shí)例形式詳細(xì)分析了桶排序的概念、原理、實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
Java注冊(cè)郵箱激活驗(yàn)證實(shí)現(xiàn)代碼
這篇文章主要介紹了Java注冊(cè)郵箱激活驗(yàn)證實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-12-12
java 定時(shí)同步數(shù)據(jù)的任務(wù)優(yōu)化
這篇文章主要介紹了java 定時(shí)同步數(shù)據(jù)的任務(wù)優(yōu)化,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12
Java多態(tài)性抽象類(lèi)與接口細(xì)致詳解
這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08
maven中自定義MavenArchetype的實(shí)現(xiàn)
Maven自身提供了許多Archetype來(lái)方便用戶(hù)創(chuàng)建Project,為了避免在創(chuàng)建project時(shí)重復(fù)的拷貝和修改,我們通過(guò)自定義Archetype來(lái)規(guī)范顯得還蠻有必要,下面就來(lái)介紹一下,感興趣的可以了解一下2025-01-01
Java之如何讀取Excel獲取真實(shí)行數(shù)
這篇文章主要介紹了Java之如何讀取Excel獲取真實(shí)行數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-06-06

