Velocity中文乱码问题需要注意一下几点:
1、eclipse默认编码方式
2、页面的编码方式
3、volocity模板的编码方式
第一步:
选择工程右键->Properties->Resource 查看默认的编码方式
第二步:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
或者
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第三步:
<!-- 配置velocity引擎 -->
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<!-- 模板路径 -->
<property name="resourceLoaderPath" value="WEB-INF/velocity/" />
<property name= "velocityProperties">
<props>
<prop key= "input.encoding">gbk</prop>
<prop key= "output.encoding">gbk</prop>
</props>
</property>
</bean>
<!-- 配置视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="suffix" value=".vm" /><!-- 上面已经指定了模板路径,这里只需定义后缀 -->
<property name="contentType" value="text/html;charset=gbk"></property> <!-- 设置编码格式 -->
</bean>
或者
在properties属性文件中写入:
input.encoding=gbk
output.encoding =gbk
检查上述几个地方配置是否一致即可。