在 freemarker spring-mvc 应用程序中配置 auto_escape
Configuring auto_escape in freemarker spring-mvc Application
我正在使用 spring-mvc 和 freemarker-2.3.27-incubating.jar
。
视图解析器的 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
?
您刚刚在模板文件本身的开头添加的 #ftl
标签。但我建议在 freemarkerSettings
属性中将 recognize_standard_file_extensions
设置为 true
,然后使用 .ftlh
文件扩展名而不是 .ftl
。或者,更好的是,您可以将 incompatible_improvements
设置为 2.3.27
,这样可以启用 recognize_standard_file_extensions
和一些修复。 (最后同样重要的是,如果您出于某种原因想要 .ftl
这样做,您也可以在 freemarkerSettings
属性中将 output_format
设置为 HTMLOutputFormat
。)
我正在使用 spring-mvc 和 freemarker-2.3.27-incubating.jar
。
视图解析器的 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
?
您刚刚在模板文件本身的开头添加的 #ftl
标签。但我建议在 freemarkerSettings
属性中将 recognize_standard_file_extensions
设置为 true
,然后使用 .ftlh
文件扩展名而不是 .ftl
。或者,更好的是,您可以将 incompatible_improvements
设置为 2.3.27
,这样可以启用 recognize_standard_file_extensions
和一些修复。 (最后同样重要的是,如果您出于某种原因想要 .ftl
这样做,您也可以在 freemarkerSettings
属性中将 output_format
设置为 HTMLOutputFormat
。)