在freemarker spring-mvc应用程序中配置auto_escape

时间:2017-12-22 08:30:01

标签: spring freemarker

我正在使用带有freemarker-2.3.27-incubating.jar的spring-mvc。 和视图解析器一样的bean配置如下......

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/"/>
    <property name="freemarkerSettings">
        <props>
            <prop key="template_exception_handler">rethrow</prop>
            <prop key="number_format">0.########</prop>
            <prop key="date_format">dd/MM/yyyy</prop>
        </props>
    </property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="suffix" value=".ftl"/>
    <property name="exposeSpringMacroHelpers" value="true"/>
    <property name="exposeRequestAttributes" value="true"/>
    <property name="exposeSessionAttributes" value="true"/>
    <property name="requestContextAttribute" value="rc"/>
</bean>

我可以在何处以及如何使用<#ftl output_format="HTML"><#ftl output_format="HTML" auto_esc=true>启用HTML auto-scape

1 个答案:

答案 0 :(得分:1)

您刚刚在模板文件开头添加的#ftl标记。但我建议在recognize_standard_file_extensions属性中将true设置为freemarkerSettings,然后使用.ftlh文件扩展名而不是.ftl。或者,更好的是,您可以将incompatible_improvements设置为2.3.27,从而启用recognize_standard_file_extensions和一些修复。 (最后一点,如果您出于某种原因想要.ftl这样做,则可以在output_format属性中将HTMLOutputFormat设置为freemarkerSettings。)