项目中用到velocity的模板功能.但是发现输出是乱码.spring配置文件如下:
输出都是UTF-8的.但是打印在控控制台中的中文字符和符号都是乱码.后来将getTemplate方法换成Velocity.mergeTemplate(template, "UTF-8", context, writer);万事OK.
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="configLocation">
<value>/WEB-INF/conf/velocity.properties</value>
</property>
<property name="resourceLoaderPath">
<value>/WEB-INF/templates/</value>
</property>
<property name="velocityProperties">
<props>
<prop key="resource.loader">file</prop>
<prop key="file.resource.loader.class">
org.apache.velocity.runtime.resource.loader.FileResourceLoader
</prop>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
<prop key="file.resource.loader.cache">true</prop>
<prop
key="file.resource.loader.modificationCheckInterval">
2
</prop>
<prop key="velocimacro.library">macro_ebuy.vm</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="com.jute.framework.web.velocity.VelocityViewResolver">
<property name="cache">
<value>true</value>
</property>
<property name="prefix">
<value>/</value>
</property>
<property name="suffix">
<value>.vm</value>
</property>
<property name="contentType">
<value>text/html; charset=UTF-8</value>
</property>
<property name="exposeSpringMacroHelpers">
<value>true</value>
</property>
</bean>
输出都是UTF-8的.但是打印在控控制台中的中文字符和符号都是乱码.后来将getTemplate方法换成Velocity.mergeTemplate(template, "UTF-8", context, writer);万事OK.
本文介绍了一种解决Velocity模板输出中文乱码的方法。通过调整Velocity配置,将模板输出编码设置为UTF-8,并修改了getTemplate方法为mergeTemplate方法,成功解决了控制台输出中文乱码的问题。
830

被折叠的 条评论
为什么被折叠?



