一、直接在Controller中寫跳轉方法,最簡單也是最普通的方法【不推薦使用】
@Controller//頁面跳轉是直接用Controller:ResponstController他會預設給頁面所有的方法加上ResponstBoring,他會返回物件,而不是頁面跳轉 @Slf4j public class LoginController { @RequestMapping(value = "/toLogin") public String toLogin(){ System.out.println("toLogin"); return "login"; } }
二,在第一種方法的基礎上改進的方法,直接將名字對映到html檔案(只用寫一個跳轉方法即可)【重點推薦使用這個方法】
@Controller @Slf4j public class ToHtmlController { @RequestMapping("/{target}") public String forward(@PathVariable("target") String target){ return target; } }
三、寫一個檢視對映器:不需要單獨寫對映到thmleaf的方法(個人覺得沒有第二種方法簡單)
@Configuration public class ManagerWebConfig implements WebMvcConfigurer { /** * 檢視對映 * @param registry */ @Override public void addViewControllers(ViewControllerRegistry registry) { System.out.println("------檢視對映--------"); //registry相當於viewcontroller的註冊中心,想讓哪些請求跳到哪些頁面,在這裡註冊就行了 registry.addViewController("/login.html").setViewName("/login/toLogin");//新增檢視控制器,第一個引數urlPath是請求地址等同於requestMapping的地址。第二個引數viewName是檢視名,也就是原來controller中return的頁面的名。 } }