【发布时间】:2016-06-14 23:10:05
【问题描述】:
我很难弄清楚如何让 Thymeleaf 处理 index.html:
src/main/resources/static
Thymeleaf 在模板目录中完美运行,无需配置:
src/main/resources/templates
环境是带有 Maven 的 Spring Boot。它使用 Yeoman 转换 index.html、CSS 和 JS。我需要所有这些文件都在同一个目录树中。
IDK 如果这是足够的信息,但下面是我的ThymeleafConfig:
package org.jeremu.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.thymeleaf.spring4.SpringTemplateEngine;
import org.thymeleaf.spring4.view.ThymeleafViewResolver;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
import org.thymeleaf.templateresolver.ITemplateResolver;
import java.util.HashSet;
import java.util.Set;
@Configuration
public class ThymeleafConfig {
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
Set<ITemplateResolver> resolvers = new HashSet<ITemplateResolver>();
resolvers.add(defaultWebTemplateResolver());
resolvers.add(emailTemplateResolver());
templateEngine.setTemplateResolvers(resolvers);
return templateEngine;
}
@Bean
public ClassLoaderTemplateResolver defaultWebTemplateResolver(){
ClassLoaderTemplateResolver webTemplateResolver = new ClassLoaderTemplateResolver();
webTemplateResolver.setPrefix("static/");
webTemplateResolver.setSuffix(".html");
webTemplateResolver.setTemplateMode("HTML5");
webTemplateResolver.setCharacterEncoding("UTF-8");
webTemplateResolver.setOrder(2);
return webTemplateResolver;
}
@Bean
public ClassLoaderTemplateResolver emailTemplateResolver(){
ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
emailTemplateResolver.setPrefix("templates/email/");
emailTemplateResolver.setSuffix(".html");
emailTemplateResolver.setTemplateMode("HTML5");
emailTemplateResolver.setCharacterEncoding("UTF-8");
emailTemplateResolver.setOrder(1);
return emailTemplateResolver;
}
@Bean
ViewResolver viewResolver(){
ThymeleafViewResolver resolver = new ThymeleafViewResolver();
resolver.setTemplateEngine(templateEngine());
resolver.setOrder(1);
return resolver;
}
}
【问题讨论】:
-
FWIW 我正在使用 org.thymeleaf » thymeleaf-spring4 2.1.4.RELEASE,它默认是 Spring Boot Thymeleaf Starter » 1.3.0.RELEASE
标签: maven spring-mvc spring-boot yeoman thymeleaf