草蛋的小青年

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问题发生:

  通过@Responsebody返回

	@ResponseBody
	@RequestMapping(value ="/selectByFormId",method = RequestMethod.GET)
	public Map<String,Object> getClassName(String formId){
		List<String> list =formInfoService.selectClassName(formId);
		Map<String,Object> map = new HashMap<String, Object>();
		map.put("data", list);
		map.put("status", true);
		return map;
	}

  结果:

{"data":["璧勮璇疯喘绫�","淇冮攢绫�","绠$悊绫�","鏆傛敮绫�","鍌ㄨ繍绫�","璧勪骇绫�","璧勮鏈嶅姟绫�","宸梾绠$悊绫�",
"閲囪喘绫�","浜轰簨鑰冨嫟绫�","璐㈠姟绫�","瀹㈡埛绫�","瑙嗘嫇绫�","瀹㈣瘔绫�","浜轰簨娲诲姩绫�","浜轰簨琛屾斂绫�","鍏枃绫�",
"璇锋绫�","閿€绠$被","钀ヨ繍涓氬姟绫�"],"status":true}

解决办法:

  在spring-mvc.xml中配置

<!-- 解决ResponseBody 乱码问题StringHttpMessageConverter这个转换器转换时,父类AbstractHttpMessageConverter的supportedMediaTypes属性默认是iso-8895-1导致 -->                      
   <mvc:annotation-driven>  
	    <mvc:message-converters>  
	        <bean class="org.springframework.http.converter.StringHttpMessageConverter">  
	            <property name="supportedMediaTypes" value="text/html;charset=utf-8"></property>  
	        </bean>  
	    </mvc:message-converters>  
	</mvc:annotation-driven>   

  但是配置完后又有了新的问题

error:...cvc-complex-type.2.1: 元素 'mvc:annotation-driven' 必须不含字符或元素信息项 [子级], 因为该类型的内容类型为空。

  后来知道是 springMVC的XSD文件版本不对,换成springMVC 4.0的 XSD就可以了

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

 然后就ok了

{"data":["资讯请购类","促销类","管理类","暂支类","储运类","资产类","资讯服务类","差旅管理类","采购类","人事考勤类"
,"财务类","客户类","视拓类","客诉类","人事活动类","人事行政类","公文类","请款类","销管类","营运业务类"],"status":true}

 

StringHttpMessageConverter 这个方法 有很多转换作用,有时间可以多看看

 

 

  

posted on 2017-12-15 13:59  草蛋的小青年  阅读(656)  评论(0编辑  收藏  举报