Springboot實(shí)現(xiàn)頁(yè)面間跳轉(zhuǎn)功能
SpringBoot 中html的頁(yè)面間跳轉(zhuǎn)
HTML網(wǎng)頁(yè)如何在SpringBoot框架下進(jìn)行跳轉(zhuǎn)?
兩種方法:
- 在Controller類中編寫(xiě)相關(guān)Mapper方法,將方法通過(guò)@RequestMapping與具體的URL進(jìn)行關(guān)聯(lián);
- 實(shí)現(xiàn)WebMvcConfigurer接口,通過(guò)參數(shù)ViewControllerRegistry調(diào)用addViewController方法。
方法一:Controller類與@RequestMapper方法
1)訪問(wèn)單一頁(yè)面
在SpringBoot中,簡(jiǎn)單訪問(wèn)單一頁(yè)面時(shí),需要編寫(xiě)Controller類來(lái)實(shí)現(xiàn),給這個(gè)頁(yè)面?zhèn)鬟f信息,則需要具體的方法和對(duì)應(yīng)的@RequestMapping:
以上圖為例,要訪問(wèn)NewLogin.html時(shí),就要在Controller類中寫(xiě)個(gè)方法,該方法要return NewLogin(不用寫(xiě)后綴):
@Controller public class UserController{ @RequestMapping("/login") public String toLogin(){ return "html/NewLogin"; } }
上文的含義是,當(dāng)我們?cè)跒g覽器中訪問(wèn)localhost/login時(shí),返回的html頁(yè)面是classpath/html/NewLogin.html。也就是說(shuō),@RequestMapping中是在瀏覽器中輸入的URL,而return的是訪問(wèn)該頁(yè)面返回的html文件。
2)頁(yè)面間的跳轉(zhuǎn)
接1),如果我們要在登錄頁(yè)面,點(diǎn)擊左上角“立即注冊(cè)”跳轉(zhuǎn)到注冊(cè)頁(yè)面,我們就要在Controller類中添加處理注冊(cè)的方法和@RequestMapping
@RequestMapping("/register") public String toRegister(){ return "html/userRegister"; }
上文含義是,當(dāng)我們?cè)跒g覽器中訪問(wèn)localhost/register時(shí),返回的html頁(yè)面是classpath/html/userRegister.html。
而且,NewLoging.html中,“立即注冊(cè)”這個(gè)按鈕要通過(guò)href與"/register"(即@RequestMapping中的URL)關(guān)聯(lián):
方法二:重寫(xiě)addViewControllers
用方法1的方法實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),需要為每個(gè)頁(yè)面寫(xiě)帶@RequestMapping的Controller類方法。
在這個(gè)方法中,需要自定義一個(gè)實(shí)現(xiàn)了WebMvcConfigurer接口的MvcConfig類,覆寫(xiě)addViewControllers(ViewControllerRegistry registry)
用這種方法實(shí)現(xiàn)方法一的頁(yè)面跳轉(zhuǎn),代碼如下:
@Configuration public class WebMvcConfig implements WebMvcConfigurer{ @Override public void addViewControllers(ViewControllerRegistry registry){ //設(shè)置URL及其對(duì)應(yīng)的HTML文件 registry.addViewController("/NewLogin").setViewName("html/NewLogin"); registry.addViewController("/userRegister").setViewName("html/userRegister"); }}
- addViewController("/url"):相當(dāng)于方法一中的@RequestMapping("/url"),是在瀏覽器地址欄中輸入的URL;
- setViewName("path/to/html"):相當(dāng)于方法一中的return "path/to/html",即訪問(wèn)URL對(duì)應(yīng)的HTML文件,也是顯示出來(lái)的頁(yè)面。
通過(guò)在HTML文件中的href屬性(屬性值就是上文addViewController("/url")中的"/url")進(jìn)行按鈕與跳轉(zhuǎn)頁(yè)面之間關(guān)聯(lián):
方法一和方法二是不沖突的,但是通常情況下如果用方法二addViewControllers,需要把方法一所寫(xiě)的Controller類給注釋掉。
到此這篇關(guān)于Springboot是如何實(shí)現(xiàn)頁(yè)面間的跳轉(zhuǎn)的的文章就介紹到這了,更多相關(guān)springboot頁(yè)面跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解
這篇文章主要介紹了Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Java設(shè)計(jì)模式之java狀態(tài)模式詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之狀態(tài)模式定義與用法,結(jié)合具體實(shí)例形式詳細(xì)分析了Java狀態(tài)模式的概念、原理、定義及相關(guān)操作技巧,需要的朋友可以參考下2021-09-09java8 統(tǒng)計(jì)字符串字母?jìng)€(gè)數(shù)的幾種方法總結(jié)(推薦)
下面小編就為大家分享一篇java8 統(tǒng)計(jì)字符串字母?jìng)€(gè)數(shù)的幾種方法總結(jié)(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)吧2017-11-11Spring Boot通過(guò)Junit實(shí)現(xiàn)單元測(cè)試過(guò)程解析
這篇文章主要介紹了Spring Boot通過(guò)Junit實(shí)現(xiàn)單元測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01WebSocket實(shí)現(xiàn)系統(tǒng)后臺(tái)消息實(shí)時(shí)通知功能
在現(xiàn)代Web應(yīng)用中,提供實(shí)時(shí)通知對(duì)于改善用戶體驗(yàn)至關(guān)重要,WebSocket技術(shù)允許建立雙向通信通道,從系統(tǒng)后臺(tái)將消息實(shí)時(shí)傳送給系統(tǒng)用戶,下面我們就來(lái)深入探討一下如何使用WebSocket來(lái)實(shí)現(xiàn)這一功能吧2023-10-10Springboot之@ConfigurationProperties注解解讀
在Spring Boot中,@EnableConfigurationProperties注解的主要作用是激活@ConfigurationProperties注解的配置屬性類,從而讓配置屬性類能被Spring容器管理,這樣的話,我們就可以在屬性類中輕松地使用@ConfigurationProperties來(lái)綁定配置文件中的屬性2024-10-10