Springboot實(shí)現(xiàn)頁面間跳轉(zhuǎn)功能
SpringBoot 中html的頁面間跳轉(zhuǎn)
HTML網(wǎng)頁如何在SpringBoot框架下進(jìn)行跳轉(zhuǎn)?
兩種方法:
- 在Controller類中編寫相關(guān)Mapper方法,將方法通過@RequestMapping與具體的URL進(jìn)行關(guān)聯(lián);
- 實(shí)現(xiàn)WebMvcConfigurer接口,通過參數(shù)ViewControllerRegistry調(diào)用addViewController方法。
方法一:Controller類與@RequestMapper方法
1)訪問單一頁面
在SpringBoot中,簡單訪問單一頁面時(shí),需要編寫Controller類來實(shí)現(xiàn),給這個(gè)頁面?zhèn)鬟f信息,則需要具體的方法和對(duì)應(yīng)的@RequestMapping:

以上圖為例,要訪問NewLogin.html時(shí),就要在Controller類中寫個(gè)方法,該方法要return NewLogin(不用寫后綴):
@Controller
public class UserController{
@RequestMapping("/login")
public String toLogin(){
return "html/NewLogin";
}
}上文的含義是,當(dāng)我們?cè)跒g覽器中訪問localhost/login時(shí),返回的html頁面是classpath/html/NewLogin.html。也就是說,@RequestMapping中是在瀏覽器中輸入的URL,而return的是訪問該頁面返回的html文件。

2)頁面間的跳轉(zhuǎn)
接1),如果我們要在登錄頁面,點(diǎn)擊左上角“立即注冊(cè)”跳轉(zhuǎn)到注冊(cè)頁面,我們就要在Controller類中添加處理注冊(cè)的方法和@RequestMapping
@RequestMapping("/register")
public String toRegister(){
return "html/userRegister";
}上文含義是,當(dāng)我們?cè)跒g覽器中訪問localhost/register時(shí),返回的html頁面是classpath/html/userRegister.html。
而且,NewLoging.html中,“立即注冊(cè)”這個(gè)按鈕要通過href與"/register"(即@RequestMapping中的URL)關(guān)聯(lián):


方法二:重寫addViewControllers
用方法1的方法實(shí)現(xiàn)頁面跳轉(zhuǎn),需要為每個(gè)頁面寫帶@RequestMapping的Controller類方法。
在這個(gè)方法中,需要自定義一個(gè)實(shí)現(xiàn)了WebMvcConfigurer接口的MvcConfig類,覆寫addViewControllers(ViewControllerRegistry registry)
用這種方法實(shí)現(xiàn)方法一的頁面跳轉(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",即訪問URL對(duì)應(yīng)的HTML文件,也是顯示出來的頁面。
通過在HTML文件中的href屬性(屬性值就是上文addViewController("/url")中的"/url")進(jìn)行按鈕與跳轉(zhuǎn)頁面之間關(guān)聯(lián):

方法一和方法二是不沖突的,但是通常情況下如果用方法二addViewControllers,需要把方法一所寫的Controller類給注釋掉。
到此這篇關(guān)于Springboot是如何實(shí)現(xiàn)頁面間的跳轉(zhuǎn)的的文章就介紹到這了,更多相關(guān)springboot頁面跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解
這篇文章主要介紹了Springboot熱部署實(shí)現(xiàn)原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Java設(shè)計(jì)模式之java狀態(tài)模式詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之狀態(tài)模式定義與用法,結(jié)合具體實(shí)例形式詳細(xì)分析了Java狀態(tài)模式的概念、原理、定義及相關(guān)操作技巧,需要的朋友可以參考下2021-09-09
java8 統(tǒng)計(jì)字符串字母個(gè)數(shù)的幾種方法總結(jié)(推薦)
下面小編就為大家分享一篇java8 統(tǒng)計(jì)字符串字母個(gè)數(shù)的幾種方法總結(jié)(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來吧2017-11-11
Spring Boot通過Junit實(shí)現(xiàn)單元測試過程解析
這篇文章主要介紹了Spring Boot通過Junit實(shí)現(xiàn)單元測試過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
WebSocket實(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)用戶,下面我們就來深入探討一下如何使用WebSocket來實(shí)現(xiàn)這一功能吧2023-10-10
Springboot之@ConfigurationProperties注解解讀
在Spring Boot中,@EnableConfigurationProperties注解的主要作用是激活@ConfigurationProperties注解的配置屬性類,從而讓配置屬性類能被Spring容器管理,這樣的話,我們就可以在屬性類中輕松地使用@ConfigurationProperties來綁定配置文件中的屬性2024-10-10

