博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目笔记:新增、编辑与删除
阅读量:7114 次
发布时间:2019-06-28

本文共 13268 字,大约阅读时间需要 44 分钟。

一、新增:

  //添加序列号    function addSerialNumber(obj){        var type = $("input[name='serialNumber']:checked").val();        showWindow($(obj).attr("title"),"genuineSerialNumberManagementAction_addUI.do?genuineSerialNumberManagement.type="+type,"500","320",true);    }

1、后台新增:由于需要传入type来辨别是正版还是非正版,所以在  addUI  上需要将type  get出来,然后传给前台页面,前台页面通过下面这样去获取

var type = '
';
  //新增序列号UI    public String addUI(){        if(genuineSerialNumberManagement.getType() != null && !"".equals(genuineSerialNumberManagement.getType())){            getRequest().setAttribute("type", genuineSerialNumberManagement.getType());        }        return RETURN_ADDUI;    }

2、addUI页面:表单里面需要加上隐藏域,否则后台那边收不到值

$(function(){        var type = '
'; $("#type").val(type); $("#softId").val(11223344); $("#buttonSubmit").click(function(){ var softDisplayName = $("#softDisplayName").val(), version = $("#version").val(), softId = $("#serialNumber").val(), type = $("#type").val(), serialNumber = $("#serialNumber").val(); $("#genuineSerialNumberManagementAction_add").form("submit",{ method : "POST", url : "genuineSerialNumberManagementAction_add.do?disc=genuineSerialNumberManagement_add&genuineSerialNumberManagement.softDisplayName=" + escape(escape(softDisplayName)) + "&genuineSerialNumberManagement.version=" + escape(escape(version)) + "&genuineSerialNumberManagement.serialNumber=" + escape(escape(serialNumber)) + "&genuineSerialNumberManagement.type=" + type + "&genuineSerialNumberManagement.softId=" + softId, timeout : 3000000, success : function(data){ var jsondata = eval("(" + data + ")"); if(jsondata.msg == 'success'){ if(type == 1){ getDeskTopObj().$('#inside_tableElement').datagrid('insertRow',{ index:0, row: { id : jsondata.id, softDisplayName : jsondata.softDisplayName, version : jsondata.version, serialNumber : jsondata.serialNumber } }); }else{ getDeskTopObj().$('#inside_tableElement_no').datagrid('insertRow',{ index:0, row: { id : jsondata.id, softDisplayName : jsondata.softDisplayName, version : jsondata.version, serialNumber : jsondata.serialNumber } }); } showMsg("", "添加成功!", true); }else{ showMsg("", "添加失败!", false); } } }) return false;//禁止表单提交事件,防止2次请求 }) });

注意表单提交的时候因为有默认的submit,所以请求会提交2次,需要阻止表单的默认提交事件。

3、后台新增功能:

  //新增序列号    public void add(){        log.info("【正版序列号管理--新增序列号:开始】");        this.msg = RESULT_FAIL;        GenuineSerialNumberManagement temp = null;        String resultInfo = "";        try {            this.msg = RESULT_FAIL;            if(genuineSerialNumberManagement.getSoftDisplayName() != null && !"".equals(genuineSerialNumberManagement.getSoftDisplayName())){                genuineSerialNumberManagement.setSoftDisplayName(EscapeUnescape.unescape(genuineSerialNumberManagement.getSoftDisplayName()));            }            if(genuineSerialNumberManagement.getVersion() != null && !"".equals(genuineSerialNumberManagement.getVersion())){                genuineSerialNumberManagement.setVersion(EscapeUnescape.unescape(genuineSerialNumberManagement.getVersion()));            }            if(genuineSerialNumberManagement.getSerialNumber() != null && !"".equals(genuineSerialNumberManagement.getSerialNumber())){                genuineSerialNumberManagement.setSerialNumber(EscapeUnescape.unescape(genuineSerialNumberManagement.getSerialNumber()));            }            if(genuineSerialNumberManagement.getType() != null && !"".equals(genuineSerialNumberManagement.getType())){                genuineSerialNumberManagement.setType(genuineSerialNumberManagement.getType());            }            if(genuineSerialNumberManagement.getSoftId() != null && !"".equals(genuineSerialNumberManagement.getSoftId())){                genuineSerialNumberManagement.setSoftId(genuineSerialNumberManagement.getSoftId());            }            genuineSerialNumberManagementService.save(genuineSerialNumberManagement);            //自动生成xml            genuineSerialNumberManagementService.createXML();            this.msg = RESULT_SUCCESS;                        temp = (GenuineSerialNumberManagement)BeanUtils.cloneBean(genuineSerialNumberManagement);            temp.setId(genuineSerialNumberManagement.getId());            resultInfo = "{\"msg\":\""+ this.msg +"\","                    + "\"id\":\"" + temp.getId() +"\","                    + "\"softDisplayName\":\"" + temp.getSoftDisplayName() +"\","                    + "\"version\":\"" + temp.getVersion() +"\","                    + "\"serialNumber\":\"" + temp.getSerialNumber()+"\"}";                    } catch (Exception e) {            log.info("【正版序列号管理--新增序列号:新增失败】");            this.msg = RESULT_FAIL;            e.printStackTrace();        }finally{            print(resultInfo);            log.info("【正版序列号管理--新增序列号:结束】");        }    }

二、编辑:

  //修改序列号    function editSerialNumber(obj){        var type = $('input[name="serialNumber"]:checked').val();        if(type == 1){            var rows = $("#inside_tableElement").datagrid('getSelections');        }else{            var rows = $("#inside_tableElement_no").datagrid('getSelections');        }        if (rows.length < 1) {            showAlertDialog("信息确认", "请选取记录!");        } else if (rows.length > 1) {            showAlertDialog("信息确认", "目前只支持单条记录删除,请去掉多选项!");        } else {            showWindow($(obj).attr("title"),"genuineSerialNumberManagementAction_editUI.do?genuineSerialNumberManagement.id="+rows[0].id,"500","320",true);        }    }

注意:编辑表单里面需要加上id,并且每行加上value,设置为库里的值,这样编辑的时候不至于为空

$(function(){        $("#buttonSubmit").click(function(){            $.doAjax({                isSend : $("#genuineSerialNumberManagementAction_edit").valid(),                url : "${basePath}/genuineSerialNumberManagementAction_edit.do",                //dataType:"json",                data : $("#genuineSerialNumberManagementAction_edit").serialize(),                success : function(data) {                    if (data == 'success') {                        getDeskTopObj().editRow( {                            softDisplayName : $("#softDisplayName").val(),                            version : $("#version").val(),                            serialNumber : $("#serialNumber").val()                         });                        showMsg("", "修改成功!", true);                    } else {                        showMsg("", "修改失败!", false);                    }                },                error : function() {                    showMsg("", "修改失败!", false);                }            });            return false;        });    });

编辑后台方法:通过id去查找到数据,然后把查到的数据更新为页面传过来的数据

  //修改序列号    public void edit() {        log.info("【正版序列号管理--修改序列号:开始】");        this.msg = RESULT_FAIL;        try {            this.msg = RESULT_FAIL;            if (genuineSerialNumberManagement != null) {                GenuineSerialNumberManagement findGenuineSerialNumberManagement = genuineSerialNumberManagementService.queryById(genuineSerialNumberManagement.getId());                if (findGenuineSerialNumberManagement != null) {                    findGenuineSerialNumberManagement.setSoftDisplayName(genuineSerialNumberManagement.getSoftDisplayName());                    findGenuineSerialNumberManagement.setVersion(genuineSerialNumberManagement.getVersion());                    findGenuineSerialNumberManagement.setSerialNumber(genuineSerialNumberManagement.getSerialNumber());                    genuineSerialNumberManagementService.update(findGenuineSerialNumberManagement);                    //自动生成xml,删除原有的重新生成                    genuineSerialNumberManagementService.createXML();                    this.msg = RESULT_SUCCESS;                }            }        } catch (Exception e) {            this.msg = RESULT_ERROR;            log.error("【正版序列号管理--修改序列号:修改失败】", e);        }finally{            print(this.msg);            log.info("【正版序列号管理--修改序列号:结束】");        }    }

三、删除

  //删除序列号    function deleteSerialNumber(obj){        var type = $('input[name="serialNumber"]:checked').val();        var $table;        if(type == 1){            var trIds = getSelectedIds("#inside_tableElement");            $table = $("#inside_tableElement");        }else{            var trIds = getSelectedIds("#inside_tableElement_no");            $table = $("#inside_tableElement_no");        }        if (checkRecordSize(trIds, false)) {            var title = $(obj).attr("title");            showConfirmDialog(title, "删除后数据将无法恢复,您确定要删除吗?", function() {                $.doAjax({                    url : "${basePath}/genuineSerialNumberManagementAction_delete.do",                    data : {                        "selectedIds" : trIds.join(";")                    },                    success : function(data) {                        if (data == 'success') {                            deleteRows();                            showMsg("", "删除成功!", true);                            $table.datagrid("reload");                        }else{                            showMsg("", "删除失败!", false);                        }                    },                    error : function() {                        showMsg("", "删除失败!", false);                    }                });            });        }    }  //获取选中行的id    function getSelectedIds(id){        var ids = [];        var rows = $(id).datagrid('getSelections');        for(var i=0;i

后台删除方法:

  //删除序列号    public void delete() {        log.info("【正版序列号管理--删除序列号:开始】");        this.msg = RESULT_FAIL;        try {            this.msg = RESULT_FAIL;            Integer[] ids = new Integer[selectedIds.split(";").length];            if (selectedIds.length() > 0) {                String[] delIds = new String[selectedIds.split(";").length];//声明一个数组保存要删除的id                for (int i = 0; i < selectedIds.split(";").length; i++) {                    delIds[i] = selectedIds.split(";")[i];                    ids[i] = Integer.parseInt(String.valueOf(delIds[i]));                }                genuineSerialNumberManagementService.deleteByIds(ids);                // 自动生成xml,删除原有的重新生成                genuineSerialNumberManagementService.createXML();                this.msg = RESULT_SUCCESS;            }        } catch (Exception e) {            this.msg = RESULT_ERROR;            log.error("【正版序列号管理--删除序列号:删除失败】", e);        } finally {            print(this.msg);            log.info("【正版序列号管理--删除序列号:结束】");        }    }

我们可以看下deleteByIds,继承自BaseService,实现于BaseServiceImpl

  @Override    public void deleteByIds(Integer[] ids) {        if (ids != null && ids.length == 1) {            baseDao.delete(ids[0]);        } else if (ids != null && ids.length > 0) {            baseDao.deleteByIds(ids);        }    }
  @Override    public void deleteByIds(Integer[] ids) {        this.getSession().createQuery(" DELETE " + this.clazz.getName() + " this WHERE this.id IN(:ids) ")//                .setParameterList("ids", ids)//                .executeUpdate();    }

 

转载地址:http://dxghl.baihongyu.com/

你可能感兴趣的文章
简单聊聊DOM
查看>>
【JavaScript】JavaScript Array 对象(数组)
查看>>
github 上有趣又实用的前端项目(持续更新,欢迎补充)
查看>>
opencv python 直方图均衡化
查看>>
HotFrameLearning 热门框架学习(前言)
查看>>
git团队开发流程
查看>>
【Under-the-hood-ReactJS-Part6】React源码解读
查看>>
深入理解css之vertical-align
查看>>
Laravel事件
查看>>
matlab绘制peano(皮亚诺)曲线和koch(科赫曲线,雪花曲线)分形曲线
查看>>
使用pipenv代替virtualenv管理python包
查看>>
Docker零基础入门指南(四):Docker容器使用
查看>>
React 深入系列4:组件的生命周期
查看>>
Mybatis之设计模式之迭代器模式
查看>>
房间号生成器
查看>>
CentOS 6.8 安装vsftpd
查看>>
js设计模式 --- 装饰设计模式
查看>>
Flask源代码阅读笔记(一)——应用启动
查看>>
IOS精品源码,仿探探UIButton封装iOS提示弹框迅速引导页自定义导航栏
查看>>
setState的一个Synthetic Event Warning
查看>>