假设一个使用了 Thymeleaf 模板引擎的 Spring Boot 项目,可能有一些模版页面不需要通过控制器加载数据,只需要直接跳转展示。
过去使用 SpringMVC 时,如果访问一个页面,必须要写相应的 Controller 类。而 SpringBoot 要实现这个需求只需要直接在 MVC 配置中重写 addViewControllers 方法配置映射关系即可,不需要在写相应的 Controller 类。
(1)假设在 resource/templates 目录下有如下两个 Thymeleaf 模板页面:index.html 和 login.html
(2)接着我们自定义一个 MVC 配置,并重写 addViewControllers 方法进行映射关系配置即可。
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/index").setViewName("index"); registry.addViewController("/login").setViewName("login"); } }
(3)配置完成后,我们使用 /login 和 /index 就可以分别显示这两个 html 页面了。