ビジネスでは、フロントエンドの jQuery easyUI DataGrid リストで選択された複数の行のデータを更新操作のためにバックグラウンドに転送する必要があります
通常、選択された行オブジェクトの ID は次の方法で取得します。ループ そしてそれを長い String にカプセル化してサービス層に送信し、findByID を使用してインスタンスを取得して更新します
しかし、今回はオブジェクト グループ全体をバックグラウンドに完全に送信する必要があります
構造は次のとおりです
Google の GSON プラグインと json2.js を併用します
フロントエンドのコードは次のとおりです。わかりやすくするために、確認コードは削除されています:
var rows = $('#dg1').datagrid('getSelections');
$.ajax({
キャッシュ : false,
タイプ : "POST",
url : _basePath '/sectionGroup/pair',
data : {rows : JSON.stringify(rows ), group_id : group_id, group_name : group_name},
success : function(data) {
if(data.success = = true){
$.messager.confirm('構成が成功しました','リストを更新しますか? ', function(r){
if (r){
$('#dg'). datagrid('reload');
$('#dg1').datagrid('reload');
$('#dg2').datagrid('reload'); });
}else{
$.messager.show({
title:'プロンプト',msg:'構成に失敗しました',
showType:'fade',style:{right:' ',bottom:''}
});
}
}
このページでは json2.js
を導入する必要がありますバックグラウンド コントローラーは以下を受け取ります:
コードをコピーします
User user = (User) SecurityContextUtil.getCurrentUser(); 🎜>if (user == null) {
user = (User) request.getSession().getAttribute(Constants.USER_OS);
}
Gson = new Gson(); ;SectionGroup> list = gson.fromJson(rows, new TypeToken>() {}.getType ());
for (SectionGroup sectionGroup : list) {
sectionGroup.setRegion(user. getRegion_id());
sectionGroup.setCompany_id(user.getOrg_id());
sectionGroup.setGroup_name(group_name);
}
return ResponseData.SUCCESS_NO_DATA;
}
GSON と TypeToken は GSON パッケージで導入されたクラスです
入力パラメータの行は String である必要がありますtype
Gson 変換後も、List は通常のインターフェイスのままで、フロントエンドの完全な Object オブジェクトが内部的にロードされます。