和struts1 一样,整体编码在web.xml中配置
<filter>
<filter-name>admin</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>admin</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
说明:
<filter-class> 指定了过滤器使用的类。
<init-param> 指定了过滤器的参数。struts.i18n.encoding 是参数名,UTF-8 就是所指定的编码,可以根据需求改为 gb2312等。
<url-pattern>指定了过滤条件,/* 表示对该应用下所有请求进行过滤。
总之,只要在web.xml中加上过滤器就可以了,最多将UTF-8 改为所你需要的编码。
当然,我们也可以自己写一个过滤类,来实现自己的特殊需求。
补充:struts.i18n.encoding 的值也可以在 struts.properties 中指定 。如:struts.i18n.encoding=UTF-8 。
如果在web.xml 和 struts.properties 都指定了编码类型,则 web.xml 中有效。