最近のプロジェクト開発プロセス中に、フロントエンドの js オブジェクトをバックグラウンドで java オブジェクトに変換するという問題に何度も遭遇しました。後で使用できるようにメソッドを記録します。
簡単に言うと、フロントエンドで JSON.stringify() メソッドを使用して js オブジェクトを js 文字列に変換し、バックグラウンドで json 文字列を受け取って javaBean に変換します。
フロントエンド コード:
var data = {};
data.id = $('#id').val();
data.msg = $('#msg').val(); //データを送信
$.post(contextPath '/XXX.do?' new Date().getTime(),{data: JSON.stringify(data)},function(result){
alert(result) );
});
バックエンド コード:
@RequestMapping("/XXX")
public void save(HttpservletResponse response,String data){
if(!StringUtils.isEmpty(data)){
//json 文字列を javaBean に変換します
Msg msg = (Msg) JSONObject.toBean(JSONObject.fromObject(data),Msg.class);
....
}
}