SSH+EasyUI批量删除

使用Spring+Struts2+Hibernate+EasyUI实现批量删除功能,以下是效果图片:


前端

批量删除JS:

function onDeleteBatch() {
<span style="white-space:pre">	</span>var rows = $("#sysloglist").datagrid('getSelections');//获取选中的行
	
	if(rows.length==0){
		$.messager.alert('提示','请选择所需删除的记录!');
		return false;
	}
	var ids=[];  
	for (var i = 0; i < rows.length; i++) {  
        <span style="white-space:pre">	</span>var id=rows[i].id; //取出id值
    	<span style="white-space:pre">	</span>ids.push(id); //将id值放入数组中
    <span style="white-space:pre">	</span>}  
    
<span style="white-space:pre">	</span>var params = $.param({'ids':ids},true);
<span style="white-space:pre">	</span>var url = 'system/syslog_deleteBatch';
	
	$.messager.confirm('提示', '确定所选记录删除?', function(r){
		
		if(r){
			$.ajax({
		        url : url,
		        data: params,
		        cache : false, 
		        async : false,
		        type : "POST",
		        dataType : 'json',
		        success : function (result){
		        	var msg = '';
		            if(result.success) {
		            	msg = result.msg;
		            } else {
		            	msg = '<span style="color: red;">' + result.msg + '</span>';
		            }
		            $.messager.show({
							title:'提示',
							msg:msg,
							timeout:1500,
							showType:'slide'
					});
					
					if(result.success) {
						$("#sysloglist").datagrid('reload');
					}
		        }
    		});
		}
	});
}
html页面:

<body class="easyui-layout" data-options="fit:true,border:false">

	<div data-options="region:'center',title:'任务列表',fit:true" style="height:100%;background:#fafafa">   
		<table id="sysloglist" class="easyui-datagrid" style="height:100%;"
	        data-options="url:'system/syslog_grid.action',
	        			  border:false,
	        			  rownumbers:'true',
	        			  toolbar:'#tb',
	        			  pagination:true,
	        			  pageSize:'50',
	        			  pageList:[50,100,150],
	        			  fit:true,
	        			  view: detailview,
	        			  detailFormatter:detailFormatter">
		    <thead>
		        <tr>
		        	<th data-options="field:'ck',checkbox:true"></th>
		            <th data-options="field:'log',width:300">日志</th>
		           	<th data-options="field:'status',width:80,align:'center'">状态</th>
		           	<th data-options="field:'createdate',width:180,align:'center',formatter: formatDate">创建日期</th>
		            <th data-options="field:'operator',width:120,align:'center',formatter: formatAction">操作</th>
		        </tr>
		    </thead>
		</table> 
		
		<div id="tb">
			<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" οnclick="onDeleteBatch()">批量删除</a>  
		</div>
	</div> 
</body>
</html>
这里使用了easyui的拓展插件datagrid-detailview.js,当使用该插件时,在页面中就呈现如上图的效果,点击每条记录的“+”号会弹出自定义的信息。如只使用easyui的datagrid控件,只需去掉table的data-options的view和detailFormatter属性即可。

Action

public class SyslogAction extends BaseAction {
	private SyslogServiceI syslogService;
	private String[] ids;
	
	public void deleteBatch() {
		boolean success = syslogService.doDeleteBatch(ids);
		Feekback back = new Feekback();
		back.putSuccess(success);
		back.putMsg(success?"批量删除成功!":"批量删除失败!");
		
		this.write(back.toString());
	}
	
	//--------//
	public SyslogServiceI getSyslogService() {
		return syslogService;
	}

	public void setSyslogService(SyslogServiceI syslogService) {
		this.syslogService = syslogService;
	}

	public String[] getIds() {
		return ids;
	}

	public void setIds(String[] ids) {
		this.ids = ids;
	}
}

Service

public class SyslogServiceImpl implements SyslogServiceI {
	private SyslogDAOI syslogDao;

	public boolean doDeleteBatch(String[] ids) {
		StringBuilder sb = new StringBuilder();
		for(String id : ids) {
			sb.append(id);
			sb.append(",");
		}
		String strIds = sb.substring(0, sb.length() - 1);
		String hql = "delete from Syslog l where l.id in (" + strIds + ")";
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("ids", ids);
		int r = syslogDao.executeHql(hql);
		if(r != 0) {
			return true;
		}
		return false;
	}

	//----//
	public SyslogDAOI getSyslogDao() {
		return syslogDao;
	}

	public void setSyslogDao(SyslogDAOI syslogDao) {
		this.syslogDao = syslogDao;
	}
}

DAO

@Override
public int executeHql(String hql) {
	int result = -1;
	try {
	<span style="white-space:pre">	</span>Query q = this.getCurrentSession().createQuery(hql);
	result = q.executeUpdate();
	} catch(Exception e) {
		e.printStackTrace();
	}
	return result;
}







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值