在Spring webmvc项目中,使用外部文件夹作为模板

时间:2013-09-04 22:28:22

标签: java spring spring-mvc configuration thymeleaf

我试图外化我的spring webmvc proyect的模板文件夹,我需要这个功能,因为设计师想要经常修改html。并且很难让他在一个战争档案里面编辑。我使用thymeleaf作为templateResolver

<bean id="templateResolver" 
    class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">

    <property name="prefix" value="file:/opt/templates/" />
    <property name="suffix" value=".html" />
    <property name="templateMode" value="HTML5" />
    <property name="cacheable" value="false" />
</bean>

我尝试使用此行,但它无法正常工作

<property name="prefix" value="file:/opt/templates/" />

我该怎么做?

2 个答案:

答案 0 :(得分:4)

您可以使用FileTemplateResolver代替ServletContextTemplateResolver

试试这个:

<bean id="templateResolver" 
    class="org.thymeleaf.templateresolver.FileTemplateResolver">

    <property name="prefix" value="/opt/templates/" />
    <property name="suffix" value=".html" />
    <property name="templateMode" value="HTML5" />
    <property name="cacheable" value="false" />
</bean>

答案 1 :(得分:0)

班级版本:

@Configuration
public class TemplateEngineConfig {
    @Value("${templates.path}")
    private String HTML_TEMPLATES_PATH;

    @Bean
    public TemplateEngine templateEngine() {
        TemplateEngine templateEngine = new TemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        return templateEngine;
    }

    private TemplateResolver templateResolver() {
        TemplateResolver resolver = new FileTemplateResolver();
        resolver.setPrefix("/opt/templates/");
        resolver.setSuffix(".html");
        resolver.setCacheable(false);
        return resolver;
    }
}