struts2.1.6版本存在一個Bug,即接收到的中文請求參數爲亂碼(以post方式提交),緣由是struts2.1.6在獲取並使用了請求參數 後才調用HttpServletRequst的setCharacterEncoding()方法進行編碼設置,致使應用使用的就是亂碼請求參數。這個 bug在struts2.1.8中已經被解決,若是你使用的事struts2.1.6,要解決這個問題,你能夠這樣作:新建一個Filter,把這個 Filter放置在Struts2的Filter以前,而後再doFilte(()方法裏添加如下代碼post
public void doFilter(...)編碼
{class
HttpServletRequst req = (HttpServletRequst)request;struts2
req setCharacterEncoding("UTF-8");//應根據你使用的編碼替換UTF-8亂碼
filterchain.doFilter(tequest,response);coding
}request