默认情况下,struts页面提交的数据采用ISO-8859-1编码。如果此时提交的内容为中文,就会产生乱码现象。
采用扩展ActionServlet的方法,可以解决此问题,具体操作如下:
1,定义一个扩展ActionServlet的类,EncodingActionServlet,覆盖ActionServlet的process(request,response)方法
public class EncodingActionServlet extends ActionServlet
{
public EncodingActionServlet()
{
}
//覆盖process方法
protected void process(HttpServletRequest request, HttpServletResponse response)
{
request.setCharacterEncoding("GBK");
super.process(request, response);
}
}
2,修改web.xml文件
将
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
修改为:
<servlet-name>action</servlet-name>
<servlet-class>platform.PlatformActionServlet</servlet-class>
重新启动web应用,输入中文试试效果,是不是OK?