日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Java【前端动态添加一条记】【后端使用JDK1.8实现map对象根据key的部分值进行分组】(并将map对象封装成指定entity对象)

發布時間:2024/10/6 HTML 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java【前端动态添加一条记】【后端使用JDK1.8实现map对象根据key的部分值进行分组】(并将map对象封装成指定entity对象) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

why

我是后端開發工程師,前端的很多函數不是很了解,所以很多問題期望在后端進行處理。

前端

有這樣一個實現,前端要動態添加記錄,然后將記錄統一存儲在一個字段里,代碼如下:

// 動態添加一行輸入參數描寫 function addParamIn() {// 輸入參數列表var paramInList = $('#paramInList');// 添加一行var tr = $(['<tr>', '<td ><input type="text" name="paramIn-' + data.paramInNum + '-name" placeholder = "輸入字段英文名" value="" class="layui-input"></td>', '<td ><input type="text" name="paramIn-' + data.paramInNum + '-cn" placeholder = "輸入字段中文名" value="" class="layui-input"></td>', '<td ><select name="paramIn-' + data.paramInNum + '-type" lay-verify="required"> <option value="date">時間</option><option value="varchar">字符串</option></select></td>', '<td ><input type="text" name="paramIn-' + data.paramInNum + '-map" placeholder = "輸入映射字段名" value="" class="layui-input"></td>', '<td ><select name="paramIn-' + data.paramInNum + '-isRequired" lay-verify="required"> <option value="1">是</option><option value="0">否</option></select></td>', '<td ><input type="text" name="paramIn-' + data.paramInNum + '-defaultVal" placeholder = "輸入默認值" value="" class="layui-input"></td>', '<td>', '<button class="layui-btn layui-btn-xs layui-btn-danger specialConfig-delete">刪除</button>', '</td>', '</tr>'].join(''));// 刪除當前行tr.find('.specialConfig-delete').on('click', function () {tr.remove();});// 頁面追加一行、輸入參數個數加一paramInList.append(tr);// 重新渲染 下拉選form.render("select");data.paramInNum += 1; }

可以看的出來,傳輸到后端后,輸入參數是多個map對象,比如:

{ // 其他參數 "source":"sourceTableName", "view":"全部展示", "desc":"查詢特殊時段的異常信息", ...// 輸入參數【主要要處理的】 // 第一行 "paramIn-0-name":"test_param", "paramIn-0-cn":"測試參數", "paramIn-0-type":"字符串", "paramIn-0-map":"testParam", "paramIn-0-isRequired":"1", "paramIn-0-defaultVal":"測試成功",// 第二行 "paramIn-1-name":"test_param2", "paramIn-1-cn":"測試參數2", "paramIn-1-type":"日期", "paramIn-1-map":"testParam2", "paramIn-1-isRequired":"0", "paramIn-1-defaultVal":"測試失敗",// ... 還有很多行// 動態的輸出參數【跟輸入參數一樣,這里不再貼出】 }

后端處理

// 進行分組【這里過濾了輸入參數paramIn 和輸出參數 paramOut 進行分組處理】 // paramIn-000-name 分組key為 paramIn-000 Map<String, List<Map.Entry<String, Object>>> paramIn = mapParam.entrySet().stream().filter(map -> map.getKey().contains("paramIn")).collect(Collectors.groupingBy(map -> {String key = map.getKey();return key.substring(0, key.indexOf("-", 8));})); // paramOut-000-name 分組key為 paramOut-000 Map<String, List<Map.Entry<String, Object>>> paramOut = mapParam.entrySet().stream().filter(map -> map.getKey().contains("paramOut")).collect(Collectors.groupingBy(map -> {String key = map.getKey();return key.substring(0, key.indexOf("-", 9));}));// 封裝 ArrayList<SpecialConfigParaIn> paraInArrayList = new ArrayList<>(); paramIn.forEach((key, val) -> {// 這里實現了key值的處理,使其與entity的字段對應Map<String, Object> stringObjectMap = changeKeysToEntity(val, key);SpecialConfigParaIn specialConfigParaIn = JSON.parseObject(JSON.toJSONString(stringObjectMap), SpecialConfigParaIn.class);paraInArrayList.add(specialConfigParaIn);});specialConfig.setParamIn(JSON.toJSONString(paraInArrayList));/** * 處理所有key值 * * @param mapList 需要處理所有key值的對象 * @param replaceStr 要替換的字符串 * @return Map<String, Object> */ private Map<String, Object> changeKeysToEntity(List<Map.Entry<String, Object>> mapList, String replaceStr) {Map<String, Object> returnMap = new HashMap<>(8);mapList.forEach(map -> {returnMap.put(map.getKey().replace(replaceStr, "").replace("-", ""), map.getValue());});return returnMap;}

總結

如果前端可以進行處理自然是最佳的,前端無法處理,在后端解決問題也不是不行。

總結

以上是生活随笔為你收集整理的Java【前端动态添加一条记】【后端使用JDK1.8实现map对象根据key的部分值进行分组】(并将map对象封装成指定entity对象)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产又好看的毛片 | 国产精品黄色av | 她也啪在线视频 | 国产一二视频 | 在线色网| 国产精品30p | 日本免费久久 | 美攻壮受大胸奶汁(高h) | 一级全黄裸体免费观看视频 | 日韩欧美国产一区二区在线观看 | 大白屁股一区二区视频 | 女人久久 | 国产三级在线观看完整版 | 黄色刺激视频 | www射 | 裸体裸乳免费看 | 美女黄色片网站 | 日本激情视频在线观看 | 国产98色在线 | 日韩 | 国产精品制服丝袜 | 成年人福利网站 | 丁香婷婷九月 | 91麻豆精品在线观看 | 91综合网 | 亚洲精品久久久久久国 | 国产精品伦理一区 | 在线观看国产免费av | 神马午夜伦 | 欧美成人免费一级人片100 | 91av不卡| 五月婷视频 | 射一射 | 幸福宝在线观看 | 91在线观看视频 | 一区二区三区久久精品 | 欧美性猛片aaaaaaa做受 | 久久er99热精品一区二区介绍 | 国产免费av片在线观看 | 日韩全黄| 国产精品99精品无码视 | 免费看国产曰批40分钟 | 亚洲一区二区三区乱码 | 蜜臀av一区二区三区 | av在线浏览 | 一区二区在线播放视频 | 香蕉在线影院 | 丁香婷婷激情五月 | 调教亲女小嫩苞h文小说 | 国产十八熟妇av成人一区 | 叼嘿视频91 | 激情三级在线 | 日本在线成人 | 干爹你真棒插曲免费 | 国产又爽又黄无码无遮挡在线观看 | 亚洲第一免费 | 中文av一区二区 | 亚洲在线免费观看视频 | 天天操操操操操 | 国产专区在线视频 | 亚洲av无码一区二区乱孑伦as | 久一区二区三区 | 国产精品久线在线观看 | 国精产品一区一区三区在线 | 不卡视频免费在线观看 | 91久久超碰| 中文字幕天堂网 | 羞视频在线观看 | 黑人精品一区二区三区 | 国产精品国产三级国产普通话蜜臀 | 日韩精品资源 | 久久精品天天中文字幕人妻 | 色丁香婷婷 | 国产精品三级久久久久久电影 | 91性视频 | aaa大片十八岁禁止 中文字幕亚洲在线观看 | 在线免费观看日韩av | 欧美精品免费播放 | 成人黄色激情网 | 神马午夜视频 | av导航福利 | 亚洲免费高清视频 | 亚洲国产精品成人无久久精品 | 波多野结衣在线视频免费观看 | 欧美一二三区在线观看 | 亚洲乱码国产一区三区 | 天天干天天操天天拍 | 激情另类视频 | 亚洲清纯唯美 | 日本在线二区 | 精品人妻一区二区三区潮喷在线 | 国产成人aaaa | 成人午夜福利视频 | 欧美特级黄色录像 | 国产女人高潮视频 | 公车乳尖揉捏酥软呻吟 | 欧美日韩一级二级 | 六月丁香婷婷网 | 91成人在线视频 | 黄色a一级视频 |