项目遇到的问题:页面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'=>'字符 ...
随机推荐
- equal numbers
给你一个n长度的数组,让你修改0到n次,问每次修改后能剩下不同个数的最小数是多少: 这里有了两种做法,一种是变成他们的lcm这样的话,修改后答案应该是减去改过的个数然后在加一 另一种就是数字修改成序列 ...
- 在phpstorm中如何对比文件呢?
有两种方法: 在phpstorm中左侧的资源管理器中,按住键盘上的CTRL键,然后鼠标右键,点击菜单中的"Compare Tow Files",就可以了,如下图 在phpstorm ...
- python 设计模式之策略模式
这几天太忙了,都没空写,所以持续了好几天. 1.策略模式的定义: 策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 通俗的讲,也就是将那些使用的方法 ...
- PorterDuffXfermode的模式取值
PorterDuffXfermode(Mode mode) PorterDuff.mode.XXX取值有: 1.PorterDuff.Mode.CLEAR 所绘制不会提交到画布上. 2.PorterD ...
- Qt编写自定义控件39-导航标签
一.前言 在很多菜单导航界面中,当单击了二级菜单或者三级菜单以后,顶部会显示带箭头或者其他标识的导航标签,可以单击该标签快速切换到对应的界面,也作为指示当前处于哪一级菜单下的界面,主要在WEB中大肆流 ...
- OpenStack Heat模板详解
Heat模板全称为heat orchestration template,简称为HOT. 1 典型Heat模板结构 heat_template_version: 2015-04-30 descript ...
- Linux下-bash: Permission denied 或者 sudo: command not found 错误
有时候执行一个脚本或者运行一个可执行文件时,如执行脚本./foo.sh,会报错-bash: ./foo.sh: Permission denied,你会再试sudo ./foo.sh,发现继续报错su ...
- 【Leetcode_easy】643. Maximum Average Subarray I
problem 643. Maximum Average Subarray I 题意:一定长度的子数组的最大平均值. solution1:计算子数组之后的常用方法是建立累加数组,然后再计算任意一定长度 ...
- CareerCup Questions List 职业杯题目列表
网站 www.careercup.com 上的题库列表 # Title Difficulty Company 1 Guards in a museum Hard F, G 2 Bomberman H ...
- linux下的进程间通信之消息队列
概念: 进程彼此之间可以通过IPC消息进行通信.进程产生的每条消息都被发送到一个IPC消息队列中,这条消息一直存放在队列中,直到另一个进程将其读走为止. 优点:可以通过发送消息来几乎完全避免命名管道的 ...