1.在web.xml中,用spring解决
<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>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.在struts配置文件中添加
<constant name="struts.i18n.encodeing" value="UTF-8" />
3.以上步骤,应该POST请求不会用乱码了,但是有些时候,比如用ajax或者 js提交的表单或者用window.localtion = XXx?XXX=XX 方式提交的,会有乱码。
那么,解决的办法就是,引入js指定编码
<script type="text/javascript" src="${basepath}/ui/default/js/jshop.js" charset="utf-8"></script>