springmvc4.0配置ajax请求json格式数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springmvc4.0配置ajax请求json格式数据相关的知识,希望对你有一定的参考价值。
1.导入相关jar包:jackson-annotation-2.5.4.jar,jackson-core-2.5.4.jar,jackson-databind-2.5.4.jar.
2.spring-servlet.xml中相关配置:
//命名空间加入mvc:
xmlns:mvc="http://www.springframework.org/schema/mvc"
//xsi:schemaLocation中补充:
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
<!-- springmvc4.0的配置方法-->
<!-- 启动注解驱动的mvc功能--> <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/> <context:annotation-config/> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="favorPathExtension" value="false"></property> </bean> <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean> <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="jsonConverter"/> <ref bean="stringConverter"/> </list> </property> </bean>
3.编辑代码
单击btn,触发ajax,调用controller方法,返回json格式数据,并将其显示在页面
3.1 jsp代码表单部分:
<div id="showData">${msg}</div> <form id="paging"> page:<input type="text" name="page" id="page"/> rows:<input type="text" name="rows" id="rows"/> <input id="sub" type="button" value="submit"/> </form>
3.2 js代码ajax部分:
$(‘#sub‘).click(function(){ alert("111"); $.ajax({ type:"POST", url:"sysLogPaging.do", data:{ "page":$("#page").val(), "rows":$("#rows").val() }, dataType:"json", success:function(data){ var dataajax=JSON.stringify(data); //将json对象数据转为string类型,以便在页面输出 $("#showData").html(dataajax).show(); }, error:function(){ alert("出错"); } }); });
3.3 java controller被调用部分代码:
@RequestMapping(value="/sysLogPaging", method=RequestMethod.POST)//分页调用函数,返回类型是JSONObject @ResponseBody //必须写,标示传送流数据 public JSONObject getSystemLog_paging(String page,String rows){ toJson syslogjson = new toJson(); //自定义的tojson类,用于拼接项目所需的特定格式的json数据 return syslogjson.toJson(sysloglist,page,rows); }
总结:1.所需jar包必须导入,关于配置,springmvc4.0和3.0有所差别,需要注意。
2.如果传送流数据(string,json等格式)controller中 @ResponseBody 不可省略。
3.要将ajax获取的json对象数据返回到页面相应位置,需调JSON.stringify();函数将对象转为string型再行show()。
以上是关于springmvc4.0配置ajax请求json格式数据的主要内容,如果未能解决你的问题,请参考以下文章