velocity使用中文要注意的地方

velocity是和freemaker一样,是个模版生成的引擎,但最近在使用中发现遇到了中文的问题,最后查资料后解决了。 我的环境是TOMCAT 5.0.28,程序中用了servlet,也用了filter了,VM模版的文件头部也加
%@page ....%那玩意了,但还是出现乱码,后来解决方法如下

首先千万要记得,下载velocity 1.4外,还要下载velocity tools 1.2这个压缩包,解压后,把其中的veloctiy-tools.jar和velocity.jar一起放到web-inf\lib文件下,并且在web.xml里,配置velocity如下
<servlet>
  <servlet-name>velocity</servlet-name>
  <servlet-class>
   org.apache.velocity.tools.view.servlet.VelocityViewServlet
  </servlet-class>
  <init-param>
   <param-name>org.apache.velocity.toolbox</param-name>
   <param-value>/WEB-INF/toolbox.xml</param-value>
  </init-param>
   <init-param>
   <param-name>org.apache.velocity.properties</param-name>
   <param-value>/WEB-INF/velocity.properties</param-value>
  </init-param>
  <load-on-startup>10</load-on-startup>
 </servlet>
  并且要把tools.xml和velocity.properties这两个文件放到web-inf下。
关于tools.xml,可以参考这篇文章 http://www.blogjava.net/hiswing/archive/2006/08/21/64746.html中说的,
而velocity.proerties,则可以参考velocity里自带的文件,但要修改其中的

input.encoding=GB2312
output.encoding=GB2312

这样就可以正确处理中文了,否则即使有了servlet的过滤器,也是不能正确显示中文的哦

你可能感兴趣的:(velocity)