课设第二天:员工信息管理系统用ajax实现删除员工信息

在emp-list.jsp中添加delete

<table border="1" cellpadding="10" cellspacing="0">
			<tr>
				<td>ID</td>
				<td>LASTNAME</td>
				<td>EMAIL</td>
				<td>BIRTH</td>
				<td>CREATETIME</td>
				<td>DEPT</td>
				<td>DELETE</td>
				<td>EDIT</td>
			</tr>
			<s:iterator value="#request.employees">
				<tr>
					<td>${id }</td>
					<td>${lastName }</td>
					<td>${email }</td>
					<td>
						<s:date name="birth" format="yyyy-MM-dd"/>
					</td>
					<td>
						<s:date name="birth" format="yyyy-MM-dd hh:mm:ss"/>
					</td>
					<td>${department.departmentName }</td>
					<td>
						<a href="emp-delete?id=${id }" class="delete">Delete</a>
						<!-- 设置隐藏域用来获取名字 -->
						<input type="hidden" value="${lastName }"/>
					</td>
					<td>
						<a href="emp-input?id=${id }">Edit</a>
					</td>
				</tr>
			</s:iterator>
		</table>

在webcontent文件夹下新建文件夹scripts
在文件夹下加入jquery-1.9.1.min.js
在emp-list.jsp下添加以下代码将jQuery导入

<script type="text/javascript" src="scripts/jquery-1.9.1.min.js"></script>

定义脚本实现点击 delete 时, 弹出 确定是要删除 xx 的信息吗 ? 若确定, 执行删除, 若不确定, 则取消

增加lastname的隐藏域用来获取姓名

<td>
	<a href="emp-delete?id=${id }" class="delete">Delete</a>
	<!-- 设置隐藏域用来获取名字 -->
		<input type="hidden" value="${lastName }"/>
</td>
<script type="text/javascript">
	
	$(function(){
		//1. 点击 delete 时, 弹出 确定是要删除 xx 的信息吗 ? 若确定, 执行删除, 若不确定, 则取消
		$(".delete").click(function(){
			<!-- 调用隐藏域获取的名字 -->
			var lastName = $(this).next(":hidden").val();
			var flag = confirm("确定要删除" + lastName + "的信息吗?");
			if(flag){
			//将一行信息定义为$tr,是超链接a节点的父节点td的父节点tr
				var $tr = $(this).parent().parent();
				//删除, 使用 ajax 的方式
				var url = this.href;
				var args = {"time":new Date()};
				$.post(url, args, function(data){
					//若 data 的返回值为 1, 则提示 删除成功, 且把当前行删除
					if(data == "1"){
						alert("删除成功!");
						$tr.remove();
					}else{
						//若 data 的返回值不是 1, 提示删除失败. 
						alert("删除失败!");
					}
				});	
			}
			
			//取消超链接的默认行为
			return false;
		});		
	})
	
</script>

在EmployeeAction.java中添加delete方法获取id

public String delete() {
		try {
			employeeService.delete(id);
			//接收返回值为1的值,如果异常,执行catch
			inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
		} catch (Exception e) {
			e.printStackTrace();
			try {
				//接收返回值为0的值
				inputStream = new ByteArrayInputStream("0".getBytes("UTF-8"));
			} catch (UnsupportedEncodingException e1) {
				e1.printStackTrace();
			}
		}
		return "ajax-success";
	}

在Struts.xml中添加结果

<result type="stream" name="ajax-success">
		        <param name="contentType">text/html</param>
		        <param name="inputName">inputStream</param>
</result>

以下是用原生方法进行删除

在dao层EmployeeDao.java中添加删除方法

public void delete(Integer id){
		String hql = "DELETE FROM Employee e WHERE e.id = ?";
		getSession().createQuery(hql).setInteger(0, id).executeUpdate();
	}

在service层EmployeeService.java中添加

public void delete(Integer id){
		employeeDao.delete(id);
	}

在Struts中添加结果

<result name="success" type="redirect">/emp-list</result>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值