现在我已经实现了从数据库中动态得到一个列表,现在我想实现删除功能,可是想不通一个问题,我要删除某项的时候,点击删除链接,数据库如何知道我要删除的是哪项?求解!
超链接上带参数,例如 delete.do?id=123
id就是参数,传到后台,通过request获取到,再传给数据层执行删除语句,根据这个id(可能是主键)进行删除
你的删除链接不是带id的么,知道id当然知道哪项啦
在页面列表的时候,根据每条记录的唯一主键进行删除。例如:
[code="java"]
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title>用户列表</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript">
function del(id){
//产生个类似 “userAction_del?id=1”这样的
document.userForm.Action='你的删除方法'+'?id='+id
document.userForm.submit();
}
</script>
</head>
<form name="userForm" action="UsersAction.do" namespace="system" method="post">
<s:iterator value="#request.Users_list">
<s:property value="userName"/><a href="#" onclick="del('<s:property value="userId"/>')">删除</a>
//根据Id删除
/s:iterator
</form>
[/code]
至于下面的处理就简单了
[code="java"]
String sql="delete from user where userid="+获取页面的ID就可以了
//执行这条语句,OK了
[/code]
表,有关键字字段么?(Primary key或者unique key)
将这个关键字字段的值传给后台,然后根据关键字删除该条记录。
如果表,没有设置关键字字段的话,就只好将所有字段值都传给后台,删除匹配上所有字段值的那条记录。