【问题标题】:How to map Spring MVC controllers to a specific folder?如何将 Spring MVC 控制器映射到特定文件夹?
【发布时间】:2017-02-25 02:20:12
【问题描述】:
我正在开发一个使用 Spring MVC、Spring Boot、Gradle 和 Thymeleaf 的项目。我想知道是否有办法避免控制器将冗长的字符串路径返回到子文件夹中的特定视图?
我的观点目前在resources/templates/views/home/
public String index( Model model ) {
return "views/home/index";
}
我希望只需要为 HomeController 返回类似 home/index 或 home/someotherpage 的内容。
谢谢!
【问题讨论】:
标签:
java
spring-mvc
model-view-controller
spring-boot
thymeleaf
【解决方案1】:
是的,可以通过在您的配置中定义templateResolver bean:
@Configuration
public class TemplateConfig {
@Bean
public SpringResourceTemplateResolver templateResolver() {
final SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setCacheable(false);
templateResolver.setPrefix("classpath:/templates/views/");
templateResolver.setSuffix(".html");
return templateResolver;
}
}
现在您可以在控制器中使用返回 index 页面:
public String index( Model model ) {
return "home/index";
}