今天按照以往的配置Struts2的encoding filter,但是输入汉字查询的时候,却显示为乱码,后来想到server.xml的配置,加上去就好了。
罗列一下:
1. 修改${CATALINA_HOME}/conf/server.xml,我用的tomcat6.0,添加URIEncoding,如下:
<
Connector
URIEncoding
="UTF-8"
port
="8080"
protocol
="HTTP/1.1"
connectionTimeout ="20000"
redirectPort ="8443" />
connectionTimeout ="20000"
redirectPort ="8443" />
2. 在web.xml中添加filter,forceEncoding不是必须的,可以不写:
<
filter
>
< filter-name > encodingFilter </ filter-name >
< filter-class > org.springframework.web.filter.CharacterEncodingFilter </ filter-class >
< init-param >
< param-name > encoding </ param-name >
< param-value > UTF-8 </ param-value >
</ init-param >
< init-param >
< param-name > forceEncoding </ param-name >
< param-value > true </ param-value >
</ init-param >
</ filter >
< filter-mapping >
< filter-name > encodingFilter </ filter-name >
< url-pattern > *.jspa </ url-pattern >
</ filter-mapping >
< filter-name > encodingFilter </ filter-name >
< filter-class > org.springframework.web.filter.CharacterEncodingFilter </ filter-class >
< init-param >
< param-name > encoding </ param-name >
< param-value > UTF-8 </ param-value >
</ init-param >
< init-param >
< param-name > forceEncoding </ param-name >
< param-value > true </ param-value >
</ init-param >
</ filter >
< filter-mapping >
< filter-name > encodingFilter </ filter-name >
< url-pattern > *.jspa </ url-pattern >
</ filter-mapping >
3. 在jsp中添加:
<%
@ page contentType
=
"
text/html; charset=UTF-8
"
session
=
"
false
"
%>