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()。


免責聲明!

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



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