2015-11-06 161 views

回答

3

以下ddekany的建议在这里使用2.3.24后的解决方案:

修改所有的模板名称.ftlh(被FreeMarker自动打开HTML逃避者需要) - 包括spring.ftl IF操作被使用。更新spring.ftlh migh需要的属性

调整freemarker的配置使用这些文件的一些补充:

spring.freemarker.suffix=.ftlh 
spring.freemarker.settings.recognize_standard_file_extensions=true 

修改pom.xml中使用的FreeMarker 2.3.24:

<dependency> 
    <groupId>org.freemarker</groupId> 
    <artifactId>freemarker</artifactId> 
    <version>freemarker-2.3.24-pre01</version> 
</dependency> 
“no_esc?

以下解决方法是使用本地JAR文件,因为2.3.24尚未在行家:

mvn install:install-file -Dfile="freemarker-2.3.24-pre01.jar" -DgroupId="org.freemarker" -DartifactId="freemarker" -Dversion="freemarker-2.3.24-pre01" -Dpackaging=jar 

Voila,用于Spring Boot的自动freemarker HTML转义;)

+0

只是稍作澄清:使用'ftlh'扩展是推荐的解决方案,但FreeMarker并不严格要求。您可以使用'template_configurers'设置将任意模板名称(模板路径)模式关联到'OutputFormat'-s(它指定转义规则)。 – ddekany

+0

你如何或在哪里设置“recognise_standard_file_extensions”? – efaj

+0

@efaj回答自己,它在FreeMarkerConfigurer上,如果通过xml设置bean,将它设置为下的属性 – efaj

1

的FreeMarker 2.3.24具有自动转义为核心功能,不过当我写这篇文章,这还没有公布。在那之前(我猜想有1-2个月),2.3.24-pre01可以从主页下载,或者你可以构建2.3-gae分支头(尽管如果你只使用2.3中的自动转义,那么并不会有太大的改变。 24个功能)。目前在此处描述了自动转义:http://freemarker.incubator.apache.org/builds/2.3.24-pre01/_html/dgui_misc_autoescaping.html

如果在此表单中不能使用2.3.24,则可以使用自定义的TemplateLoader作为已链接的第一篇文章。由于templateLoadertemplate_loader)只是一个FreeMarker配置设置,希望它也可以在Spring中设置。

相关问题