0

リクエスト パラメータからカスタム オブジェクトをインスタンス化するにはどうすればよいですか? (@ModelAttribute と @RequestParam の両方を試しました)

@RequestMapping(method = RequestMethod.POST)
public String newPerson(@ModelAttribute(value = "personModel") 
                          Person person, BindingResult result) {
// Person has just firstname and lastname fields
 }

次のコードを使用して、jQuery でこれを呼び出そうとします。

var PersonText = '["firstname":"John", "lastname":"Someone"]';
$.ajax({
type : 'POST',
url : "/addnewperson.do",
data : {'personModel' : personText},
datatype : 'json',
success : function(data) {
    var obj = jQuery.parseJSON(data);
}
});

実際、私の最初の計画は、人物オブジェクトのリスト全体をコントローラーに送信することでしたが、それがうまくいかなかったので、単一のオブジェクトに戻しましたが、今はそれもうまくいきません。

編集: param は JSON である必要はありません。Javascript オブジェクトを JSON として Spring Controller にシリアル化するのが理にかなっていると思いました。

4

2 に答える 2

0

Javascript(jquery)からの次の呼び出しでこれを機能させることができました

$.post("/modifylist.do",{ firstname: "John", lastname: "Doe" } );

Person[]ただし、これを配列またはリストで機能させる方法、つまりパラメーターをorにする方法を知りたいと思いますList<Person>

于 2012-06-14T07:24:50.830 に答える