使用layui的方法
1、监听行事件信息,使用的是lay-filter,
table.on('tool(test)', function(obj){
}
2、删除按钮后面定义的lay-event是delete,通过lay-filter捕捉按钮事件,然后上面的 代码可以捕捉到行信息,里面的内容是
var data = obj.data; //获得当前行数据
alert(obj.data);
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if(layEvent === 'del'){ //删除
layer.confirm('真的删除行么', function(index){
obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
layer.close(index);
//向服务端发送删除指令
});
3、编写controller
4、编写service 和 dao
5、mapper上继承 的是mybatis的myMapper ,JDBC操作使用的是 封装好的delete方法,根据的是选中的 表格的id值
使用ajax的方法
1、监听行事件
先指定删除按钮
<shiro:hasPermission name="FireWall:delete">
<a class="delete" target="ajaxTodo" title="确认要删除此数据吗?" href="${ctx}/fireWall/delete/?ids={slt_uid}">删除</a>
</shiro:hasPermission>
2、监听事件用的是table的event
3、编写controller
@RequestMapping("/delete")
public @ResponseBody String delete(String ids) {
AjaxObject ajaxObject = new AjaxObject();
try {
String[] idarr = ids.split(",");
for (String id : idarr) {
fireWallService.delete(id);
}
ajaxObject.setNavTabId(moduleListNavId);
ajaxObject.setMessage("删除成功");
} catch (Exception e) {
e.printStackTrace();
ajaxObject.setStatusCode(AjaxObject.STATUS_CODE_FAILURE);
ajaxObject.setMessage("删除失败");
}
ajaxObject.setCallbackType("");
return ajaxObject.toString();
}
主要就是传入了一个id值,这个值这个行数据的id,虽然在表格当中不可见但是需要传入的是这个值。
4、编写service
public int delete(String id)throws Exception
{
return FireWallDAO.delete(id);
}
5、编写dao
public int delete(String id)throws Exception
{
return sqlsession.delete("FireWallDAO.delete", id);
}
6、mapper是根据选中的id值删除,
<delete id="delete" parameterType="String">
DELETE FROM yf_firewall_access WHERE ID=#{id}
</delete>