原创

Spring MVC 传递 Json 对象实现分析

        Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。


Spring MVC 优点如下:

1)Lifecycle for overriding binding, validation, etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。

2)它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所没有的优势。而且框架本身有代码,看起来容易理解。


Java 代码数据层,具体如下:

@RequestMapping(value="getUser",method=RequestMethod.POST, headers = {"content-type=application/json","content-type=application/xml"}) 
@ResponseBody
public Object getUser(@RequestBody User user) 
{ 
  List<User> list = en.list();//调用数据库省略...
  return list;
}

Java 实体对象,具体如下:

package com.yoodb.entity;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    public long userId;
    public String nickName;
    public Date createTime;
    public int age;
    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        this.userId = userId;
    }
    public String getNickName() {
        return nickName;
    }
    public void setNickName(String nickName) {
        this.nickName = nickName;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

利用 JQuery 来处理 json 字符串,具体JS代码如下:

$.fn.serializeObject = function(){ 
   var o = {}; 
   var a = this.serializeArray(); 
   $.each(a, function(){ 
     if (o[this.name]) { 
       if (!o[this.name].push) { 
         o[this.name] = [o[this.name]]; 
       } 
       o[this.name].push(this.value || ''); 
     } 
     else { 
       o[this.name] = this.value || ''; 
     } 
   }); 
   return o; 
 };

Js 使用 ajax 方式,具体代码如下:

$(document).ready(function(){ 
    jQuery.ajax({ 
      type: 'GET', 
      contentType: 'application/json', 
      url: 'getUser.action', 
      dataType: 'json', 
      success: function(data){ 
        if (data) { 
          $.each(data.data, function(i, item){ 
            $('#info').append("姓名:" + item.name +",年龄:" +item.age); 
          }); 
        } 
      }, 
      error: function(){ 
        alert("error") 
      } 
    }); 
    
  });

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

  1. #1

    假诗人 (2017/06/29 14:10:42)回复
    感谢分享 我一般使用的GSON解析 导一个GSON包就解析了

分享:

支付宝

微信