歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

SpringMVC中使用Json傳數據

在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);
        }

Spring學習之第一個Spring MVC程序(IDEA開發環境)  http://www.linuxidc.com/Linux/2016-06/132658.htm

SpringMVC總結篇  http://www.linuxidc.com/Linux/2016-06/132659.htm

Spring+SpringMVC企業快速開發架構搭建  http://www.linuxidc.com/Linux/2015-09/122942.htm

SpringMVC的亂碼處理  http://www.linuxidc.com/Linux/2015-07/120542.htm

Spring MVC+Spring3+Hibernate4開發環境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm 

Spring MVC整合Freemarker基於注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm 

基於注解的Spring MVC簡單介紹 http://www.linuxidc.com/Linux/2012-02/54896.htm

SpringMVC詳細示例實戰教程 http://www.linuxidc.com/Linux/2015-06/118461.htm

Spring MVC 框架搭建及詳解 http://www.linuxidc.com/Linux/2012-01/52740.htm

SpringMVC 異常處理  http://www.linuxidc.com/Linux/2015-06/119049.htm

Copyright © Linux教程網 All Rights Reserved