今天碰到一乱码问题,百思不得其解。
最后解决办法是设置了表单的提交方式,将method设置为post,解决问题。虽然默认的提交方式是post。但是如果不显式设置的话,就会出现我所出现的问题。
总结下处理struts2乱码的几个方法:
方法一:
在struts.xml中添加<constant name="struts.i18n.encoding" value="UTF-8"/>
方法二:
在jsp页面中添加<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
方法三:
通过filter方式解决。
<filter>
<filter-name>SetCharacterEncoding</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>SetCharacterEncoding</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>