一、直接在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的页面的名。 } }
标签:Controller,视图,controller,跳转,thmleaf,方法,public,页面 From: https://www.cnblogs.com/wenwenlee/p/18263656