在学习springmvc时通过异步请求从controller中向前台view拿数据时,返回了ajax中的error,并没有进行跳转,通过网络查看,在获取数据时报了415错误。
百度了半天大多数都是直接使用的jackson格式传输的数据,翻了好久才发现有一篇介绍了fastjson中如何解决415,问题出在mvc中没有办法直接解析json格式的数据,需要在mvc的核心配置文件中配置json解析器,代码如下
<!--fastJson解析器-->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!-- 配置Fastjson支持 -->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json</value>
</list>
</property>
<property name="features">
<list>
<value>WriteMapNullValue</value>
<value>QuoteFieldNames</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
在配置文件中加入这个解析器就可以正常运行了,不要忘记导入fastjson的依赖,依赖如下:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
成功效果图如下,问题就解决了