在Spring Boot中对ThymeleafConfig感到困惑

时间:2016-07-16 10:18:08

标签: spring spring-mvc thymeleaf

我在我的Spring Boot应用程序中添加了ThymeleafConfig,因此我可以将模板模式配置为HTML5。在添加之前,Spring Boot应用程序可以找到home.html模板。现在添加它后我得到了:

 org.thymeleaf.exceptions.TemplateInputException: Error resolving template "home", template might not exist or might not be accessible by any of the configured Template Resolvers

我的目录结构是标准资源/ templates / home.html

这是我的ThmyeleafConfig:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.thymeleaf.templateresolver.ServletContextTemplateResolver;

@Configuration
public class ThymeleafConfig {

    @Bean
    public ServletContextTemplateResolver defaultTemplateResolver() {
        ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
        resolver.setPrefix("/templates/");
        resolver.setSuffix(".html");
        resolver.setTemplateMode("LEGACYHTML5");
        resolver.setCacheable(false);
        return resolver;
    }

    @Bean
    public ResourceBundleMessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("messages");
        messageSource.setDefaultEncoding("UTF-8");

        return messageSource;
    }
}

我很确定我已经按照这些例子做了什么,但显然我错过了一些东西。有任何建议我如何解决这个问题,以便正确找到模板吗?

1 个答案:

答案 0 :(得分:2)

没有必要声明自己的bean。您可以使用application.properties配置模式:

spring.thymeleaf.mode=LEGACYHTML5