Spring集成Velocity的时候出现了乱码, 看源码发现, Spring的使用的是Velocity的实现, 默认的是ISO(晕), 开始的时候, 以为简单的:

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
  <property name="cache" value="false" />
  <property name="prefix" value="" />
  <property name="suffix" value=".vm" />
  <property name="contentType" value="text/html;charset=UTF-8" />
 </bean>

这样就可以解决问题, 没想到, 还是乱码,  看了看Velocity相关的文档, 于是改了改,

<bean id="velocifyConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
     <property name="resourceLoaderPath" value="/WEB-INF/velocity/" />
     <property name="velocityProperties">
      <props>
       <prop key="input.encoding">UTF-8</prop>
       <prop key="output.encoding">UTF-8</prop>
       <prop key="contentType">text/html;charset=UTF-8</prop>
      </props>
     </property>
    </bean>

 <bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
  <property name="cache" value="false" />
  <property name="prefix" value="" />
  <property name="suffix" value=".vm" />
  <property name="contentType" value="text/html;charset=UTF-8" />
 </bean>

在velocityConfig里添加了:

<property name="velocityProperties">
      <props>
       <prop key="input.encoding">UTF-8</prop>
       <prop key="output.encoding">UTF-8</prop>
       <prop key="contentType">text/html;charset=UTF-8</prop>
      </props>
     </property>
以为, 这下, 肯定可以了吧, 应该改的地方都改了, 高高兴兴的重启了一下tomcat, 一访问, faint仍然乱码, 这下子崩溃了, 于是开始找, 找啊找, 找啊找, 怎么也是找不到, 看了spring的源码看了velocity的源码, 怎么也想不通(一晚上都没睡好啊), 刚刚起来的时候, 没办法, UTF-8改成了GBK, ok, 不乱了, 不过, 变成了GBK, 总是感觉不爽, 不管, 反正是不乱了.