ホームページ  >  記事  >  ウェブフロントエンド  >  Spring mvc は json object_javascript スキルを受け取ります

Spring mvc は json object_javascript スキルを受け取ります

WBOY
WBOYオリジナル
2016-05-16 15:26:231693ブラウズ

この記事では、Spring mvc で json データを受け取る方法をコード例を通して紹介します。

JSON を受信

フロントエンドで @RequestBody アノテーションを使用するには、フォーマットされた JSON をコントローラーに送信するだけで済みます。Spring はそれを自動的に Bean にアセンブルします。

1) 上記のプロジェクトで JSON を返す最初のメソッドの使用に基づいて、次のメソッドを追加します。

Java コード

  @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 は次のとおりです:

Java コード

  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 実装に比べて、確かに簡潔でないことがたくさんあります。

上記は、この記事で共有された Spring mvc の JSON データ受信に関する関連情報です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。