Ich habe eine harte Zeit, herauszufinden, wie index.html
zu erhalten Prozess in von Thymeleaf zu sein:Wie bekomme ich Thymeleaf zur Verarbeitung von HTML im statischen Ordner?
src/main/resources/static
Thymeleaf funktioniert perfekt in dem Vorlagen-Verzeichnis ohne Konfiguration:
src/main/resources/templates
Die Umgebung ist Spring Boot mit Maven. Es verwendet Yeoman, um die index.html
, CSS und JS zu transpilieren. und ich brauche alle diese Dateien in der gleichen Verzeichnisstruktur.
IDK wenn diese genügend Informationen, aber unten ist mein 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 Ich org verwenden. thymeleaf * thymeleaf-spring4 2.1.4.RELEASE, die standardmäßig mit Spring Boot Thymeleaf Starter »1.3.0.RELEASE –