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




































配置文件web.xml

















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



































此例,凡是通過(guò)*.testdo來(lái)請(qǐng)求的數(shù)據(jù),都會(huì)經(jīng)過(guò)參數(shù)encoding設(shè)定的值來(lái)編碼。
原文鏈接: http://blog.csdn.net/runnerupshi/archive/2006/12/05/1431238.aspx