程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> SpringMVC中使用Json傳數據,springmvcjson

SpringMVC中使用Json傳數據,springmvcjson

編輯:JAVA綜合教程

SpringMVC中使用Json傳數據,springmvcjson


  在web項目中使用Json進行數據的傳輸是非常常見且有用的,在這裡介紹下在SpringMVC中使用Json傳數據的一種方法,在我的使用中,主要包括下面四個部分(我個人喜好使用maven這類型工具進行項目構建):

1、引入依賴Jar包   在POM.xml文件(或其他Maven的項目配置文件)中增加如下的依賴:
                <dependency>  
                    <groupId>com.fasterxml.jackson.core</groupId>  
                           <artifactId>jackson-databind</artifactId>  
                    <version>2.7.5</version>  
                </dependency> 
                <dependency>
                          <groupId>org.codehaus.jackson</groupId>
                          <artifactId>jackson-core-asl</artifactId>
                          <version>1.9.13</version>
                </dependency>
                <dependency>
                          <groupId>org.codehaus.jackson</groupId>
                          <artifactId>jackson-mapper-asl</artifactId>
                         <version>1.9.13</version>
                </dependency>

 

2、啟動SpringMVC注解與Json消息轉換器      如下片段是在SpringMVC的配置文件中的:   
         <mvc:annotation-driven />
        <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
             <property name="supportedMediaTypes">  
                <list>  
                    <value>text/html;charset=UTF-8</value>  
                </list>  
            </property> 
        </bean>

 

3、JSP界面用javascript異步請求
    <script type="text/javascript">
        function getInfo() {
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "/ajax/getHtml",
                success: function(map) {
                        $("input[name=getInfo]").after("<table>");
                        $.each(map, function(i, item) {
                                 $("input[name=getInfo]").after(
                                         "<tr><td>" + item.userName + "</td>" + 
                                          "<td>" + item.password + "</td></tr>");
                         });
                        $("input[name=getInfo]").after("</table");
                },
                error: function(ret) {
                    alert("加載失敗");
                }
            });
            
        }
    </script>

 

4、控制器中執行請求
        @ResponseBody    //返回不是html之外的數據必須要有這個注解
        @RequestMapping(value="/getHtml")
        public ModelAndView getHtml() {
                Map<String, User> map = new HashMap<String, User>();
                User li=new User();
                li.setUserName("Li");
                li.setPassword("123");
                User na=new User();
                na.setUserName("Na");
                na.setPassword("456");
                map.put("1", li);
                map.put("2",na);
                return new ModelAndView(new MappingJackson2JsonView(),map);
        }

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved