解決springmvc在單純返回一個字符串對象時所出現的亂碼情況(極速版)


使用springmvc框架開發了這么長時間,之前都是直接返回jsp頁面,亂碼情況都是通過配置和手動編解碼來解決,但是今天突然返回一段單純的字符串時,發現中文亂碼情況解決不了了,下面就給各位分享一下如何解決返回字符串時出現的亂碼情況(無需實驗,直接使用即可)。

   

    之前我們都是通過在springmvc的核心配置文件中配置視圖解析器來返回指定的頁面,將數據通過Model對象渲染頁面,最后響應給用戶,但是這種方式我們是通過在web.xml文件中配置CharacterEncodingFilter就可以解決。

 1     <!-- 解決post亂碼 -->
 2     <filter>
 3         <filter-name>CharacterEncodingFilter</filter-name>
 4         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 5         <init-param>
 6             <param-name>encoding</param-name>
 7             <param-value>UTF-8</param-value>
 8         </init-param>
 9     </filter>
10     <filter-mapping>
11         <filter-name>CharacterEncodingFilter</filter-name>
12         <url-pattern>/*</url-pattern>
13     </filter-mapping>

 

    但是在某種情況下我們不需要對用戶返回一個頁面,而是單純給調用接口服務的調用者返回一字符串,這時添加@ResponseBody注解這是必然的,但是你響應的數據中包含中文,則會出現亂碼問題,即使你在web.xml文件中配置了解決post請求方式的亂碼過濾器,也於事無補,這時就需要通過倆種方式來解決(當然本人只熟悉倆種,並且已經實踐過了,好使)。

 

第一種:通過注解的屬性解決。

    通過給@RequestMapping中添加produces="text/html;charset=UTF-8"。

第二種:通過在springmvc核心配置文件中配置處理器、映射器解決。

 

1     <!-- 2、處理器、映射器 -->
2     <mvc:annotation-driven>
3         <mvc:message-converters register-defaults="true">
4             <bean class="org.springframework.http.converter.StringHttpMessageConverter">
5               <constructor-arg value="UTF-8" />
6             </bean>
7         </mvc:message-converters>
8     </mvc:annotation-driven>

 

 

 

       


免責聲明!

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



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