2013-09-04 2 views
2

Я попытался экрнализировать папку шаблона моего проекта webmvc spring. Мне нужна эта функция, потому что разработчик хочет очень часто изменять html. И для него необходимо редактировать его в военном файле. Я использую thymeleaf в templateResolverВ проекте Spring webmvc используйте папку extern для шаблонов

<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/" /> 

Как я могу это сделать?

+0

Вы не можете изменить, что в то время как приложение работает. –

+0

Вы уверены ?, Я сделал кешируемое значение false. Но моя настоящая проблема заключается в том, что приложение не нашло шаблонов, оно не понимает «файл: /» part – Troncador

ответ

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> 
+0

thanks =) он отлично работает – Troncador

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; 
    } 
}