Struts1.2里提交中文表單到ActionForm后的亂碼問題
Posted on 2008-11-22 22:35 sk 閱讀(2440) 評論(2) 編輯 收藏 所屬分類: Struts1.2由于Struts框架直接把表單數據發送給了ActionForm,所以這里面沒有對HttpRequestServlet進行SetCharacterEncoding,所以默認是按照ISO-8859-1(參見Tomcat 源代碼中的org.apache.catalina.connector.HttpRequestBase中的protected void parseParameters()方法),
解決的方法,就是在表單提交到ActionForm之前對request進行編碼。
第一種方法,就是寫一個過濾器,對所有請求進行過濾
過濾器代碼:




































配置文件web.xml

















第二種方法是替換默認的控制器org.apache.struts.action.ActionServlet
子類代碼:



































此例,凡是通過*.testdo來請求的數據,都會經過參數encoding設定的值來編碼。
原文鏈接: http://blog.csdn.net/runnerupshi/archive/2006/12/05/1431238.aspx