如何将新增与修改结合一起写

新增跟修改几乎大家都会写,那么你们有没有尝试过把新增与修改写到一起去呢?我就尝试过,后来发现这样写是真的太香了!可以少写很多代码!接下来就开始吧!
首先准备一个模态框,(因为跳转页面还没有尝试过把它们俩结合)然后把下面两句代码放进去,如下图:
在这里插入图片描述

位置就跟我放的差不多就行。根据supplierid来判断是新增还是修改。
接下来写一个监听提交事件,代码如下:
form.on(‘submit(*)’, function (data) {
. p o s t ( " .post(" .post("{ctx}/systemController/Addsupp.do", data.field, function (ddt) {
if (typeof ddt == “string”) {
ddt = JSON.parse(ddt);
}
form.render(‘select’); //刷新select选择框渲染
if (ddt.state) {
$("#close").click();
tableurl();//这个是查询表格数据的方法名
}
layer.msg(ddt.msg, {icon: 0});
})
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
在此之前记得把新增模态框打开哦!代码如下:
//新增
function insertcargo() {
$(“input[type=‘reset’]”).click();
$("#AddandUplaod").click();
$("#exampleModalLabel").text(“新增供应商”);
}
然后接着写修改回填的代码,代码如下:
//修改回填
function modifycargo() {
var checkStatus = table.checkStatus(‘tabledata’); //idTest 即为基础参数 id 对应的值
if (checkStatus.data.length == 1) {
// ( " i n p u t [ t y p e = ′ r e s e t ′ ] " ) . c l i c k / / 这 句 代 码 容 易 跟 新 增 那 一 句 冲 突 , ( 并 不 是 所 有 的 都 会 冲 突 , 就 以 我 跟 我 朋 友 为 例 , 我 的 就 会 冲 突 , 我 朋 友 就 不 会 。 ) 所 有 我 建 议 还 是 改 为 : ("input[type='reset']").click//这句代码容易跟新增那一句冲突,(并不是所有的都会冲突,就以我跟我朋友为例,我的就会冲突,我朋友就不会。)所有我建议还是改为: ("input[type=reset]").click//("#aa").click();
$("#aa").click();
$("#AddandUplaod").click();
//回填数据
form.val(“formTest”, {
“supplierid”: checkStatus.data[0].supplierid // “name”: “value”
, “suppliername”: checkStatus.data[0].suppliername
, “suppliertypeid”: checkStatus.data[0].suppliertypeid
, “regionid”: checkStatus.data[0].regionid
, “status”: checkStatus.data[0].status == true ? true : false
, “defaults”: checkStatus.data[0].defaults == true ? true : false
, “contactaddress”: checkStatus.data[0].contactaddress
, “remark”: checkStatus.data[0].remark
, “contactid”: checkStatus.data[0].contactid
, “contacts”: checkStatus.data[0].contacts
, “contactnum”: checkStatus.data[0].contactnum
, “settlementtypeid”: checkStatus.data[0].settlementtypeid
})
} else {
layer.alert(“请选择一条数据”);
}
$("#exampleModalLabel").text(“修改供应商”);
}
我是先把jsp页面的代码先写完在写控制器的代码,这样电话在控制器会比较好写一点,个人认为。
还有就是Xml中的sql语句dao层service层的代码并没有什么变化,跟以前的一样就好了。
控制器的代码如下:
@ResponseBody
@RequestMapping("/Addsupp")
public String Addsupp(suppVo supp) {
jsonReturn.setState(false);
System.out.println(supp);
if (supp != null && supp.getContacts() != null && supp.getContacts().length() > 0) {
suppVo suppVo = suppService.selectOnly(supp.getSuppliername());
int a = 0;
String b = “”;
if (supp.getSupplierid() == null || supp.getSupplierid() == 0) {//新增
if (suppVo == null) {
a = suppService.insertSelective(supp);
b = “添加”;
} else {
jsonReturn.setMsg(“该供应商已存在”);
JSONObject jsonObject = new JSONObject(jsonReturn);
return jsonObject.toString();
}
} else {//修改
if (suppVo == null || suppVo.getSupplierid() == supp.getSupplierid()) {
a = suppService.updateByPrimaryKeySelective(supp);
b = “修改”;
} else {
jsonReturn.setMsg(“该供应商已存在”);
JSONObject jsonObject = new JSONObject(jsonReturn);
return jsonObject.toString();
}
}
if (a > 0) {
jsonReturn.setState(true);
jsonReturn.setMsg(“供应商” + b + “成功”);
} else {
jsonReturn.setMsg(“供应商” + b + “失败”);
}
} else {
jsonReturn.setMsg(“数据接受失败”);
}
JSONObject jsonObject = new JSONObject(jsonReturn);
return jsonObject.toString();//如果乱码的话就改为下面那句代码
//return new String(jsonObject.toString().getBytes(“utf-8”),“iso-8859-1”);
}
控制器会有比较多的判断,个人建议是先把一个判断写完然后再写第二个判断,这样思维就不会很乱了。
这样就完成了,代码量是不是减少了好多!这样工作率就大大提升了。快尝试一下!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值