【发布时间】:2016-05-18 11:37:34
【问题描述】:
我升级到 Freemarker 2.3.24 以便使用设置 output_format 作为 HTMLOutputFormat 并启用自动转义,但是当我使用 spring.ftl 从属性文件中读取值时,我得到“使用 ?html(传统转义)不是当使用标记输出格式 (HTML) 启用自动转义时允许,以避免双重转义错误。”有谁知道如何将 Freemarker 自动转义与 spring 属性文件阅读器集成?
这是我的配置 bean:
<bean id="freeMarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/views/"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="freemarkerSettings">
<props>
<prop key="output_format">HTMLOutputFormat</prop>
</props>
</property>
</bean>
这是我的 test.ftl
<#import "/spring.ftl" as spring/>
<html>
<div>hello</div>
<p><@spring.message "welcome"/></p>
</html>
我得到这个错误:
Using ?html (legacy escaping) is not allowed when auto-escaping is on with a markup output format (HTML), to avoid double-escaping mistakes.
【问题讨论】:
标签: spring freemarker