SpringMVC視圖作用詳解
SpringMVC中的視圖是View接口,視圖的作用渲染數據,將模型Model中的數據展示給用戶
SpringMVC視圖的種類很多,默認有轉發(fā)視圖和重定向視圖
當工程引入jstl的依賴,轉發(fā)視圖會自動轉換為JstlView
若使用的視圖技術為Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的視圖解析器,由此視 圖解析器解析之后所得到的是ThymeleafView
一、ThymeleafView
當控制器方法中所設置的視圖名稱沒有任何前綴時,此時的視圖名稱會被SpringMVC配置文件中所配置的視圖解析器解析,視圖名稱拼接視圖前綴和視圖
后綴所得到的最終路徑,會通過轉發(fā)的方式實現跳轉
<a th:href="@{/test/view/thymeleaf}" rel="external nofollow" >測試SpringMVC的視圖ThymeleafView</a>
@Controller public class TestViewController { @RequestMapping("/test/view/thymeleaf") public String testThymeleafView() { return "success"; } }
二、轉發(fā)視圖
通過ThymeleafView轉發(fā)是可以進行頁面渲染的,但是通過InternalResourceView轉發(fā)的頁面跳轉只能實現一個簡單的轉發(fā),頁面中的Thymeleaf語法解析不了。所以這種方式我們不常用
SpringMVC中默認的轉發(fā)視圖是InternalResourceView
SpringMVC中創(chuàng)建轉發(fā)視圖的情況:
當控制器方法中所設置的視圖名稱以"forward:"為前綴時,創(chuàng)建InternalResourceView視圖,此時的視圖名稱不會被SpringMVC配置文件中所配置的視圖解析器解析,而是會將前綴"forward:"去掉,剩余部 分作為最終路徑通過轉發(fā)的方式實現跳轉
例如"forward:/","forward:/employee"
<a th:href="@{/test/view/forward}" rel="external nofollow" >測試SpringMVC的視圖InternalResourceView</a>
@RequestMapping("/test/view/forward") public String testInternalResourceView() { return "forward:/test/model"; }
三、重定向視圖
SpringMVC中默認的重定向視圖是RedirectView
當控制器方法中所設置的視圖名稱以"redirect:"為前綴時,創(chuàng)建RedirectView視圖,此時的視圖名稱不 會被SpringMVC配置文件中所配置的視圖解析器解析,而是會將前綴"redirect:"去掉,剩余部分作為最終路徑通過重定向的方式實現跳轉
例如"redirect:/","redirect:/employee"
<a th:href="@{/test/view/redirect}" rel="external nofollow" >測試SpringMVC的視圖RedirectView</a><br>
@RequestMapping("test/view/redirect") public String testRedirectView() { return "redirect:/test/model"; }
四、視圖控制器view-controller
當控制器方法中,僅僅用來實現頁面跳轉,即只需要設置視圖名稱時,可以將處理器方法使用view-controller標簽進行表示
注:
當SpringMVC中設置任何一個view-controller時,其他控制器中的請求映射將全部失效,此時需 要在SpringMVC的核心配置文件中設置開啟mvc注解驅動的標簽:
<mvc:annotation-driven />
<!--開啟mvc的注解驅動--> <mvc:annotation-driven /> <!-- 視圖控制器:為當前的請求直接設置視圖名稱實現頁面跳轉 若設置視圖控制器,則只有視圖控制器所設置的請求會被處理,其他的請求將全部404 此時必須在配置一個標簽:<mvc:annotation-driven /> --> <mvc:view-controller path="/" view-name="index"></mvc:view-controller>
到此這篇關于SpringMVC視圖作用詳解的文章就介紹到這了,更多相關SpringMVC視圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring學習筆記3之消息隊列(rabbitmq)發(fā)送郵件功能
這篇文章主要介紹了Spring學習筆記3之消息隊列(rabbitmq)發(fā)送郵件功能的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07在IntelliJ IDEA中多線程并發(fā)代碼的調試方法詳解
這篇文章主要介紹了在IntelliJ IDEA中多線程并發(fā)代碼的調試方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08SpringBoot整合PageHelper分頁無效的常見原因分析
這篇文章主要介紹了SpringBoot整合PageHelper分頁無效的常見原因分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08Spring容器刷新obtainFreshBeanFactory示例詳解
這篇文章主要為大家介紹了Spring容器刷新obtainFreshBeanFactory示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03