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, 總是感覺不爽, 不管, 反正是不亂了.