作者:笨蛋說愛我8_382 | 来源:互联网 | 2023-06-09 12:51
前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现前台js数组json字符串$(#savaUserSet).click(function(){
前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现
前台js数组json字符串
$("#savaUserSet").click(function(){
var JSOnArr=[];
$("i[name='eventName']").each(function() {//获取所有name属性为eventName的i标签,并遍历
if(!($(this).hasClass("active"))){
var eventCode=$(this).attr("id");
var eventName=$(this).html();
var activityTypeCode=$(this).parent().prev().children("span").eq(0).attr("value");
var JSOnObject= {
"userid":userid,
"activityCode":activityTypeCode,
"eventCode":eventCode
};
JSONArr.push(JSONObject);
}
});
var JSOnArrStr=JSON.stringify(JSONArr);//js数组转json字符串
$.ajax({//ajax其实可以不用管了
method : "POST",
url : "../../privacyProtect/savaUserGenPrivacySet.do",
dataType : "json",
data:{
"JSONArrStr":JSONArrStr,
"userid":userid
},
beforeSend: function () {
// 禁用按钮防止重复提交,发送前响应
waitingDialog.show("正在提交数据,请稍候",{dialogSize: 'sm'});
$("#savaUserSet").attr({ disabled: "disabled" });
},
complete: function () {//完成响应
$("#savaUserSet").removeAttr("disabled");
},
success : function(data) {
waitingDialog.hide();
var msg=data.result;
bootbox.alert(msg, function () {});
},
error : function(data) {
bootbox.alert("服务器发生错误,加载数据发生异常!", function () {});
}
});
});
后台json转为对象数组,在转换为集合
@RequestMapping ("/savaUserGenPrivacySet")
@ResponseBody
public String savaUserGenPrivacySet (HttpServletResponse response, HttpServletRequest request)
{
try
{
request.setCharacterEncoding ("utf-8");
response.setCharacterEncoding ("utf-8");
}
catch (UnsupportedEncodingException e)
{
_logger.error (e.getMessage ());
}
// 返回数据的容器
Map resultMap = new HashMap ();
Long userid = Long.parseLong (request.getParameter ("userid"));
UserGenPrivacy userGenPrivacy = new UserGenPrivacy ();
userGenPrivacy.setUserid (userid);
String jsOnArrStr= request.getParameter ("JSONArrStr");//接收到数据字符串
JSONArray arr = JSONArray.fromObject (jsonArrStr);//将其解析为JSON数组
//将json数组转为list集合,注意这里的对象属性要和你前台建的对象属性一致
List userGenPrivacys = JSONArray.toList (arr, new UserGenPrivacy (), new JsonConfig ()); boolean isOk = _privacyProtectService.savaUserGenPrivacySet (userGenPrivacy, userGenPrivacys);
String msg = "";
if (isOk)
{
msg = "设置保存成功!";
}
else
{
msg = "设置保存失败!";
}
resultMap.put ("result", msg);
JsonConfig cOnfig= new JsonConfig ();
config.registerJsonValueProcessor (Date.class, new JsonDateValueProcessor ("yyyy-MM-dd"));
return JSONObject.fromObject (resultMap, config).toString ();
}
页面效果(具体页面)
记:
由于下面的选项是自动生成的就不贴html代码了,而且这也不是重点,就展示一下大致结构,看的了节点操作就好了;
允许查看门诊过程的相关内容:
因为我这有activityCode的属性和enventCode的属性要组合在一起,所以单独传一串字符串过去再分割字符串不是说不行,但我觉得很傻气,所以就用了这种方式:
先在前台创建js数组转为json字符串,传到后台,后台再把json解析为JSON数组,最后再转为List集合; 这时我已经获得了该对象集合,之后只要遍历集合....还不能完成我的操作....我还需要清空以前的用户数据,再将这次数据保存; 这就涉及到事物控制了,这时我下一次笔记的内容了.