Spring MVC 3 表單中文提交post請求和get請求亂碼問題的解決方法


在spring mvc 3.0 框架中,通過JSP頁面、HTML頁面以POST方式提交表單時,表單的參數傳遞到對應的servlet后會出現中文顯示亂碼的問題。解決辦法可采用spring自帶的過濾技術,對所有頁面間參數的傳遞設置統一的字符編碼。

對於post請求:

分兩步解決問題:

1.設置頁面格式為UTF-8

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 2.在web.xml中添加過濾器

<!--spring3.0添加了一個過濾器,可以將這些請求轉換為標准的http方法,使得支持GET、POST、PUT與DELETE請求 -->
    
     <filter>  
      <filter-name>characterEncodingFilter</filter-name>  
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
      <init-param>  
       <param-name>encoding</param-name>  
       <param-value>UTF-8</param-value>  
      </init-param>  
      <init-param>  
       <param-name>forceEncoding</param-name>  
       <param-value>true</param-value>  
      </init-param>  
    </filter>  
    <filter-mapping>  
      <filter-name>characterEncodingFilter</filter-name>  
      <url-pattern>/*</url-pattern>  
    </filter-mapping> 

本文參考鏈接:http://blog.csdn.net/mybackup/article/details/7566590

 

對於get請求:

也是分兩步解決:

1.同上1步驟。

2.在方法注解上設置produces值,如下:

@RequestMapping(value="/selectPlaceListMap",produces = "text/html;charset=UTF-8")

這樣就解決了亂碼問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM