温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

关于jquery保存form及转换成bean对象

发布时间:2020-08-20 10:31:32 来源:网络 阅读:801 作者:yhbwz2011 栏目:web开发

  使用jquery-1.10.2.js,保存表单时序列化之后,发现yyyy-MM-dd HH:mm:ss格式的日期,序列化之后会变成yyyy-MM-dd+HH:mm:ss的格式,其中的空格被替换成了“+”

claimParams = $('#claimInfo').serialize();

  后台接收后,因为有些内容需要直接保存明文,因此需要解码一下,并将其中的一些特殊字符替换掉

   claimParams = java.net.URLDecoder.decode(claimParams,"UTF-8");   
   claimParams = claimParams.replaceAll("\"", """);
   claimParams = claimParams.replaceAll("&", "\",\"").replaceAll("=", "\":\"");
   claimParams = "{\"" + claimParams + "\"}";
   claimParams = claimParams.replaceAll("", "<br/>");
   claimParams = claimParams.replaceAll("", "&nbsp;");

  处理过后,将claimParams字符串转为json对象,再将json对象转为bean,然后直接保存bean对象。

但是因为bean中的日期是timestamp类型,利用jsonobject直接转bean的时候会有问题,因此需要再处理一下

   //json转bean
  String[] formats={"yyyy-MM-dd+HH:mm:ss","yyyy-MM-dd"};  
  JSONUtils.getMorpherRegistry().registerMorpher( new TimestampMorpher(formats) );    
  JSONObject claimParams_jsonObject = JSONObject.fromObject( claimParams );  
  Claim claim = (Claim)JSONObject.toBean( claimParams_jsonObject,Claim.class );

这样就可以直接保存对象了。

 

 

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI