>웹 프론트엔드 >JS 튜토리얼 >Spring mvc는 json object_javascript 기술을 받습니다.

Spring mvc는 json object_javascript 기술을 받습니다.

WBOY
WBOY원래의
2016-05-16 15:26:231793검색

본 글에서는 코드 예시를 통해 spring mvc가 json 데이터를 수신하는 방법을 소개하고 있다.

JSON 수신

프런트엔드에서 @RequestBody 주석을 사용하려면 형식화된 JSON을 컨트롤러에 제출하기만 하면 되며 Spring은 자동으로 이를 빈으로 어셈블합니다.

1) 위 프로젝트에서 JSON을 반환하는 첫 번째 메소드를 기반으로 다음 메소드를 추가합니다.

자바 코드

  @RequestMapping(value="/add",method=RequestMethod.POST, headers = {"content-type=application/json","content-type=application/xml"}) 
  @ResponseBody 
  public Object addUser(@RequestBody User user) 
  { 
    System.out.println(user.getName() + " " + user.getAge()); 
    return new HashMap<String, String>().put("success", "true"); 
  } 

POJO는 다음과 같습니다.

자바 코드

  public class User { 
    private String name; 
    private String age; 
    //getter setter 
  } 

2) 프론트엔드에서는 jQuery를 사용하여 JSON을 처리할 수 있습니다. 여기에서 양식의 데이터를 JSON 개체로 반환할 수 있는 jQuery 플러그인이 있습니다.

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

다음은 jQuery를 이용하여 JSON을 주고 받는 코드입니다.

JS 코드

$(document).ready(function(){ 
    jQuery.ajax({ 
      type: 'GET', 
      contentType: 'application/json', 
      url: 'jsonfeed.do', 
      dataType: 'json', 
      success: function(data){ 
        if (data && data.status == "0") { 
          $.each(data.data, function(i, item){ 
            $('#info').append("姓名:" + item.name +",年龄:" +item.age); 
          }); 
        } 
      }, 
      error: function(){ 
        alert("error") 
      } 
    }); 
    $("#submit").click(function(){ 
      var jsonuserinfo = $.toJSON($('#form').serializeObject()); 
      jQuery.ajax({ 
        type: 'POST', 
        contentType: 'application/json', 
        url: 'add.do', 
        data: jsonuserinfo, 
        dataType: 'json', 
        success: function(data){ 
          alert("新增成功!"); 
        }, 
        error: function(){ 
          alert("error") 
        } 
      }); 
    }); 
  }); 

그런데 Spring을 사용하는 것은 정말 귀찮은 일인 것 같습니다. Jersey의 RESTful 구현에 비해 간결하지 않은 부분이 참으로 많습니다.

위 내용은 이 글에서 공유한 json 데이터를 수신하는 Spring mvc 관련 정보입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.