解决方案如下:
1.JSP中设置页面编码为“GB18030”:
<%@ page language="java" pageEncoding="GB18030"%>
2.struts.xml添加如下配置:
<constant name="struts.i18n.encoding" value="GBK"></constant>
3.web.xml中根据Struts2版本不同,配置如下过滤器:
2.1.6之后的版本:
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>存在bug
就算设置第二种方法,也不能解决,这时候可以换为2.1.7版本以上的Strut2
2.1之前的版本:
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>中文问题解决
4.使用post方式提交参数。
5.自己动手加入转换的编码转换
6.web.xml 配置文件中加入:
<filter>
<filter-name>encodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
1.JSP中设置页面编码为“GB18030”:
<%@ page language="java" pageEncoding="GB18030"%>
2.struts.xml添加如下配置:
<constant name="struts.i18n.encoding" value="GBK"></constant>
3.web.xml中根据Struts2版本不同,配置如下过滤器:
2.1.6之后的版本:
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>存在bug
就算设置第二种方法,也不能解决,这时候可以换为2.1.7版本以上的Strut2
2.1之前的版本:
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>中文问题解决
4.使用post方式提交参数。
5.自己动手加入转换的编码转换
6.web.xml 配置文件中加入:
<filter>
<filter-name>encodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>