原创

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),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

  1. #1

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

分享:

支付宝

微信