SpringMVC05 使用ajax和json

本文写的东西都是基于前几次写的springMVC的笔记。

使用ajax和json除了springmvc的jar包以外还需要以下3个包

        jackson-annotations-2.5.4.jar

        jackson-core-2.5.4.jar

        jackson-databind-2.5.4.jar

附下载地址:http://repo1.maven.org/maven2/com/fasterxml/jackson/core/

本例使用的是2.5.4版本

 

在使用json之前还需要在springmvc的xml中配置json转换器

 

springmvc.xml

<!-- 将对象转换成json -->

      <!-- StringConver配置 -->

      <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter">

         <property name="supportedMediaTypes">

            <list>

                <value>text/plain;charset=UTF-8</value>

            </list>

         </property>

      </bean>

      <!-- jsonConver配置 -->

      <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>

      <!-- 适配器引用StringConverjsonConver  -->

      <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

         <property name="messageConverters">

            <list>

                <ref bean="stringConverter"/>

                <ref bean="jsonConverter"/>

            </list>

         </property>

      </bean>

配置好之后就可以开始写下面的代码了

 

  1. 1创建一个对象

package com.entity;

public class User {

  private String name;

  private int age;

  private String sex;

 

get set方法略

  1. 2controller类

@RequestMapping("/json")

   @ResponseBody

   public List<User> getUser(){

      List list=new ArrayList<User>();

      list.add(new User("小明", 16, ""));

      list.add(new User("小红", 11, ""));

      list.add(new User("张三", 13, ""));

      list.add(new User("李四", 18, ""));

      return list;

   }

 

  1. 3jsp界面

<input type="button" value="获取数据" id="btn" >

      <hr>

      <table style="width: 50%; text-align: center;">

         <tr>

            <td>姓名</td>

            <td>年龄</td>

            <td>性别</td>

         </tr>

         <tbody id="tbody"></tbody>

      </table>

  1. 4javascript部分(jQuery随便找一个)

<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>

<script type="text/javascript">

   $(function () {

      $("#btn").click(function() {

         $.post("json.html",function(data){

            var html="";

            for(var i=0;i<data.length;i++){

               html+="<tr><td>"+data[i].name+"</td><td>"+data[i].age+"</td><td>"+data[i].sex+"</td></tr>";

            }

            $("#tbody").html(html);

         });

      });

   });

</script>

 

  1. 5测试

单击前:

单击后:

总结:后台数据在UI层上显示在使用Json后变得非常的爽快,可以直接将对象封装到数组中在前端使用。与session相比这样避免了服务器中存放大量session有效的节约了服务器资源。

以上都是个人学习经验,有不对的地方欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值