首页 > 代码库 > springmvc4.0配置ajax请求json格式数据

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="http://www.mamicode.com/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格式数据