利用所有struts的代码,都会经过ActionServlet这一特点 我们来继承他的RequestProcessor
覆盖掉里面的processPreprocess方法
默认情况下,struts页面提交的数据采用ISO-8859-1编码。如果此时提交的内容为中文,就会产生乱码现象。
采用扩展ActionServlet的方法,可以解决此问题,具体操作如下:
建立MyProcessor类
public class MyProcessor extends RequestProcessor{
protected boolean processPreprocess(HttpServletRequest arg0, HttpServletResponse arg1) { // TODO Auto-generated method stub
try { arg0.setCharacterEncoding("GBK"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block
e.printStackTrace(); } arg1.setCharacterEncoding("GBK"); return (true); }
}
|
这个类继承了RequestProcessor,并且覆盖了里面的processPreprocess,这时对外界预留的接口!
接着在xml中进行配置
</action-mappings> <controller processorClass="com.viita.struts.form.MyProcessor"></controller> <message-resources parameter="com.viita.struts.ApplicationResources" /> </struts-config>
|
阅读(1521) | 评论(0) | 转发(0) |