ExtJs+Hibernate+SpringMVC 批量删除

本文介绍了一种使用ExtJS框架实现删除功能的方法,包括前端点击事件处理、与用户交互确认、后端SpringMVC控制器处理及DAO层操作等。通过详细代码展示了如何从界面上选择记录并发送请求到后端进行数据删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Button 的点击事件代码
function delConfig(obj) {
        if (!obj.up("grid").getSelectionModel().hasSelection()) {
            Ext.MessageBox.alert({title:"提示",message:"<p  style='text-align:center;font-size:14px;'>请选择要删除的记录</p>"});
            return;
        }else{
            Ext.MessageBox.show({     
                title:'提示:删除确认。',     
                msg: '<p  style="text-align:center;font-size:14px;">您确定要删除所选择项么?</p>', 
                width:300,
                top:200,
                buttons: Ext.MessageBox.YESNO,     
                fn: function(button){ 
                    if('yes'==button){  
                        var selected = obj.up("grid").getSelectionModel().selected.items;
                        var list = [];
                        Ext.each(selected,function(item){
                             list.push(item.data.id);       
                        })
                        $.ajax({
                            type: "post",
                            url: basePath + "/System/Config/delete",
                            data: {
                                "_method": "DELETE",
                                "list":list
                            },
                            dataType: "json",
                            success: function (data) {
                                if (data.success) {
                                    configGridStore.load();
                                } else {
                                    alert(1);
                                    Ext.MessageBox.alert(data.msg);
                                }
                                var btnArry = obj.up("grid").query("button");
                                btnArry[0].setDisabled(false);
                                btnArry[1].setDisabled(true);
                                btnArry[2].setDisabled(true);
                            }
                        });
                    }else if('no'==button){  
                    }     
                }, 
                icon: Ext.MessageBox.QUESTION 
            }); 
        }
    }
Spring MVC 的后台代码
@RequestMapping(value = "/System/Config/delete", method = RequestMethod.DELETE)
    @ResponseBody
    public SubmitResultModel delete(@RequestParam(value = "list[]")Integer[] list) {
        SubmitResultModel resultModel = configBiz.delete(list);
        return resultModel;
    }
Dao层代码
@Override
    public boolean delete(Integer[] list) {
         String hql = "";
         for(int i=0;i<list.length;i++) {
             if(i==0) {
                 hql = "id="+list[i];
             } else {
                 hql =hql + " or id= "+list[i];
             }
         }   
         Session session= this.currentSession();
         Query q= session.createQuery("delete from ConfigBean where "+hql);
         int i = q.executeUpdate();
         return i>0;
    }
Service层中加上事务注解
@Override
    @Transactional(propagation = Propagation.REQUIRED)
    public SubmitResultModel delete(Integer[] list) {
        SubmitResultModel result = new SubmitResultModel(true, "");
        try {
            configDao.delete(list);
        } catch (Exception e) {
            Logger logger = Logger.getLogger("com.hlxr.rms.system.biz.impl.ConfigBizImpl.delete(Integer[] list)");
            logger.warn(e.getMessage());
            result.setSuccess(false);
            result.setMsg(e.getMessage());
        }
        return result;
    }
SubmitResultModel 类
public class SubmitResultModel {
    private Boolean success;
    private String msg;
    Constructor(success,msg);
    getter;
    setter;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值