三種好用的controller跳轉thmleaf頁面的方法總結!!

仙女无可奈何發表於2024-06-23

一、直接在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的頁面的名。
    }
}

  

相關文章