output_formatをHTMLOutputFormatとして使用し、自動エスケープを有効にするためにFreemarker 2.3.24にアップグレードしましたが、spring.ftlを使用してプロパティから値を読み込むとファイルを取得しようとすると、自動エスケープがマークアップ出力フォーマット(HTML)でオンになっていると、ダブルエスケープの間違いを避けるために "?html(従来のエスケープ)を使用することはできません。 Freemarkerの自動エスケープをSpringのプロパティファイルリーダーと統合する方法を知っている人はいますか?ここ Freemarker 2.3.24自動エスケープとspring.ftlマクロの問題
が私のconfig 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.