项目遇到的问题:页面c:forEach循环的数据进行计算传回后台并保持到数据库
应该还有更简单的方法
但是我不晓得
手动给文本框输入数据保存到数据库

A表 :通过订单编号 查询数据获得
B表 :通过A表中的字段查询遍历获得

问题: 手动输入文本框内容 保存到数据库
页面form提交
|
<form id="forme" action="${pageContext.request.contextPath }/business/businessOfferSubmit" method="post" class="form-horizontal" role="form"> <div id="businessOfferList" class="tab-pane in active"> /*判断 文本框内容*/ <script type="text/javascript"> </script> |
后台接收
controller层-->service层-->serviceimpl层-->mapper层-->mapperprovider层
| @RequestMapping(value="/businessOfferSubmit") public String editBusinessOffer(@RequestParam Map<String, Object> businessOffer,HttpServletRequest req) { LOGGER.debug("编辑业务处理:"+businessOffer); System.out.println(businessOffer); try { Map<String, Object> resultBusinessOffer = businessOfferService.editBusinessOffer(businessOffer); if (resultBusinessOffer!=null) { req.setAttribute("businessOffer_edit_msg", "业务处理成功"); }else { req.setAttribute("businessOffer_edit_msg", "10010-业务处理失败"); } } catch (Exception e) { req.setAttribute("businessOffer_edit_msg", "10009-业务处理更新失败-未知异常"); e.printStackTrace(); } //编辑后跳回到编辑页面 return "forward:/business/toBusinessOfferList/1"; } |
controller层-->service层-->serviceimpl层-->mapper层-->mapperprovider层
| /** * 编辑模块 * @param businessOffer * @return */ Map<String, Object> editBusinessOffer(Map<String, Object> businessOffer); |
controller层-->service层-->serviceimpl层-->mapper层-->mapperprovider层
|
@Override //将A表输入的数据 更新 数据库 //通过 订单编号 查询 货物清单 //遍历 查询到的数据 并更新 //通过拼接字符串 获得到 页面传回来 的name属性的值 |
controller层-->service层-->serviceimpl层-->mapper层-->mapperprovider层
|
/** /** |
controller层-->service层-->serviceimpl层-->mapper层-->mapperprovider层
| public String updateForNotNull(Map<String, Object> modular) { //1.构建公共的SQL语句 String sql="UPDATE tb_basic_order SET "; //2.构建SQL动态语句 StringBuilder builder=new StringBuilder(sql); if (modular.get("volume_rate")!=null) { builder.append("volume_rate=#{volume_rate},"); } if (modular.get("weight_rate")!=null) { builder.append("weight_rate=#{weight_rate},"); } if (modular.get("take_charge")!=null) { builder.append("take_charge=#{take_charge},"); } if (modular.get("order_status")!=null) { builder.append("order_status=3,"); } //删除最后一个逗号 builder.delete(builder.length()-1, builder.length()); //追加条件 builder.append(" WHERE order_id=#{order_id}"); //3.返回SQL语句 return builder.toString(); } public String updateGood(Map<String, Object> businessOffer) { //1.构建公共的SQL语句 String sql="UPDATE tb_basic_good SET "; //2.构建SQL动态语句 StringBuilder builder=new StringBuilder(sql); if (businessOffer.get("good_volume")!=null) { builder.append("good_volume=#{good_volume},"); } if (businessOffer.get("good_weigth")!=null) { builder.append("good_weigth=#{good_weigth},"); } //删除最后一个逗号 builder.delete(builder.length()-1, builder.length()); //追加条件 builder.append(" WHERE good_id=#{good_id}"); //3.返回SQL语句 return builder.toString(); } |
项目遇到的问题:页面c:forEach循环的数据进行计算传回后台并保持到数据库的更多相关文章
- thinkphp模板中foreach循环没数据的错误解决
从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...
- 关于“foreach循环”中遇到的几个问题总结
1.列表页面用"foreach循环"的时候数据没有显示,此时需要检查你对象模型中属性的首字母是否大写,切记不能大写(本人在做一个项目的时候,对象模型是别人建立的,属性首字母大写了, ...
- SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环
原文:SSIS从理论到实战,再到应用(5)----流程控制之Foreach循环 上期回顾: SSIS从理论到实战,再到应用(4)----流程控制之For循环 上一期讲了For循环,Foreach循环相 ...
- 关于JSP的C标签之forEach循环分隔符
页面中可能说出现在forEach循环中间需要出力分隔符的问题, 比如: 小明 1年级,小王 2年级, 小张 3年级(循环单位是 ${bean.name} ${bean.class}) 此时的逗号出力, ...
- smarty 截取字符串,调用php中的方法,foreach循环
1.smarty截取字符串 html中的代码 <{$content|truncate:30:"..."}> ...
- Java-Runoob-高级教程-实例-方法:13. Java 实例 – for 和 foreach循环使用
ylbtech-Java-Runoob-高级教程-实例-方法:13. Java 实例 – for 和 foreach循环使用 1.返回顶部 1. Java 实例 - for 和 foreach循环使用 ...
- mybatis foreach 循环 list(map)
直接上代码: 整体需求就是: 1.分页对象里面有map map里面又有数组对象 2.分页对象里面有list list里面有map map里面有数组对象. public class Page { pri ...
- PHP foreach 循环使用"&$val" 地址符“&”
在熟悉项目代码的时候 看到这样的foreach 循环: foreach($data as &$val){ .... } 第一次看到循环里面使用了地址符“&”,我印象中的这个符号 是直接 ...
- foreach循环时动态往数组里添加数据
今天在用TP做项目的时候遇到一个问题,foreach的时候需要动态往数组里添加数据,示例代码如下: $arr = array( array('id'=>'字符串1','name'=>'字符 ...
随机推荐
- ICEM-缺角正方体(2D转3D)
原视频下载地址:https://yunpan.cn/cqKYEeSsQhJHt 访问密码 1cce
- 【原】Python基础-序列
1 序列 在Python中,最基本的数据结构是序列,序列中每个元素被分配一个编号,也称为索引.第一个索引为0,第二个则是1,以此类推.序列中最后一个元素被标为-1,倒数第二个元素被标为-2,以此类推. ...
- OpenGL ES: (2) OpenGL ES 与 EGL、GLSL的关系
OpenGL ES 是负责 GPU 工作的,目的是通过 GPU 计算,得到一张图片,这张图片在内存中其实就是一块 buffer,存储有每个点的颜色信息等.而这张图片最终是要显示到屏幕上,所以还需要具体 ...
- 011-多线程-基础-基于AbstractQueuedSynchronizer自定义同步组件
一.概述 队列同步器AbstractQueuedSynchronizer,是用来构建锁或者其他同步组件的基础框架. 1.1.自定义独占锁同步组件 设计一个同步工具:该工具在同一时刻,只允许一个线程访问 ...
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_13-SpringSecurityOauth2研究-JWT研究-生成JWT令牌&验证JWT令牌
生成jwt需要用私钥来签名.在Auth认证服务下创建测试类 创建密钥工厂,构造函数需要的参数 获取私钥 有了私钥就可以生成JWT令牌 使用jwtHelper是spring security里面的类 e ...
- java类什么时候加载?,加载类的原理机制是怎么样的?
java类什么时候加载?,加载原理机制是怎么样的? 答: 很多人都不是很清楚java的class类什么时候加载在运行内存中,其实类加载的时间是发生在一下几种情况: 1.实例化对象时,就像sprin ...
- 一百四十六:CMS系统之帖子按照发布时间和评论数量排序
按照不同选项进行排序 视图 @bp.route('/')def index(): board_id = request.args.get('board_id', type=int, default=N ...
- LVS搭建负载均衡集群(二)——DR模式
(1).DR模式和TUN模式介绍 Direct Routing(直接路由):director分配请求到不同的real server.real server处理请求后直接回应给用户,这样director ...
- 记EXSI虚拟机CentOS7断电无法启动修复过程
参考:https://msd.misuland.com/pd/3148108429789233656 EXSI6.7安装虚拟机CentOS7.5 1804 断电后启动页面进度条很慢 最后出现如下提示 ...
- Python扫描器-常用库-Request
1.常用库-Request 1.1. 介绍 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >> ...