热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现

前台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 ();
}

页面效果(具体页面)

《前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现》

记:

由于下面的选项是自动生成的就不贴html代码了,而且这也不是重点,就展示一下大致结构,看的了节点操作就好了;



  • 允许查看门诊过程的相关内容:




    门诊病历

    门诊处方


  • 因为我这有activityCode的属性和enventCode的属性要组合在一起,所以单独传一串字符串过去再分割字符串不是说不行,但我觉得很傻气,所以就用了这种方式:

    先在前台创建js数组转为json字符串,传到后台,后台再把json解析为JSON数组,最后再转为List集合; 这时我已经获得了该对象集合,之后只要遍历集合....还不能完成我的操作....我还需要清空以前的用户数据,再将这次数据保存; 这就涉及到事物控制了,这时我下一次笔记的内容了.


    推荐阅读
    • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
    • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
    • XML介绍与使用的概述及标签规则
      本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
    • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
      本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
    • Java学习笔记之面向对象编程(OOP)
      本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
    • Java太阳系小游戏分析和源码详解
      本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
    • 向QTextEdit拖放文件的方法及实现步骤
      本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
    • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
    • Java String与StringBuffer的区别及其应用场景
      本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
    • JVM 学习总结(三)——对象存活判定算法的两种实现
      本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
    • 动态规划算法的基本步骤及最长递增子序列问题详解
      本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
    • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
    • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
    • Android工程师面试准备及设计模式使用场景
      本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
    • 带添加按钮的GridView,item的删除事件
      先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
    author-avatar
    笨蛋說愛我8_382
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有