jsp页面中使用ssh框架如何实现复选框全部删除的功能?

例如点击“彻底删除”将所有复选框选中的数据删除,使用SSH框架Jsp页面如何实现。如果点击“彻底删除”是一条记录一条记录删除,还是单独写个方法一块删?如果一块删删除语句如... 例如点击“彻底删除”将所有复选框选中的数据删除,使用SSH框架Jsp页面如何实现。
如果点击“彻底删除”是一条记录一条记录删除,还是单独写个方法一块删?如果一块删删除语句如何写?
展开
 我来答
惠企百科
2022-12-02 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部
首先不建议物理删除,最好还是做逻辑删除\x0d\x0a至于取值,例如\x0d\x0aJSP中定义了3个checkbox\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a在action中取值\x0d\x0aString[] strs = request.getParameterValues(“mybox”);\x0d\x0a\x0d\x0a如果要想一起删的话\x0d\x0a首先你复选框的值应该是具体对应数据库实体的ID,或者某一个唯一字段\x0d\x0a删除语句为 DELETE FROM 表名 WHERE 字段 in (之前取到的复选框的值);
明月清风618
2012-04-26 · TA获得超过737个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:124万
展开全部
全选的复选框的id是check_2 下面遍历的复选框的name是checks:
以下是选中所有遍历后的复选框
function checkAll_1(){
var allCheck = document.getElementsByName("checks");
var check_2 = document.getElementById("check_2");
check_2.checked=false;
for(var i=0;i<allCheck.length;i++){
if(document.getElementById("check_1").checked == true){
allCheck[i].checked = true;

}else if(document.getElementById("check_1").checked == false){
allCheck[i].checked = false;
}
}

}
这里是在全部删除这个超链接中写的事件。如<a href="javascript:getIds()">全部删除</a>
function getIds(){
var ids = document.getElementsByName("checks");
var id="";

for(var i=0;i<ids.length;i++){

id += ids[i].value+",";

}

window.location.href="<%=basePath%>message/delete_messageAll.action?ids="+id;
写一个循环删除嘛。再给你补充点Action和Dao里面的代码
这是Action里是:
/**
* 批量删除消息
*/
public String deleteAllMessage(){
String [] idss = ids.split(",");
for(int i=0;i<idss.length;i++){
messageBizImpl.doDeleteMessage(new Integer(idss[i]));
}
return "success";
}
这是Dao里的
public int doDeleteMessage(int id) {
int result = 0;
Session session = null;
try {
session = this.getSession();
session.delete(session.get(Message.class, id));
this.commit(session);
result = 1;
} catch (Exception e) {
this.rollback(session);
result = 0;
e.printStackTrace();
}finally{
this.close(session);
}
return result;
}
小项目这样写就行,不用考虑什么加载速度问题,就是用jdbc写也可以的。建议别用Hibernate了。还是用Ibatis吧。Hibernate有时候报的错让人恶心无语。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Eris不和女神
推荐于2016-07-20 · TA获得超过320个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:168万
展开全部
给每个checkbox一个相同的ID(ID="checkbox")
value=数据的ID(value=${xxx.id})
这么做事因为checkbox只有选中了才会传值
后台拿到checkboxList,对list进行遍历,如果有那个id就代表被选中了
通过id查找对象,删除
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangchun515
推荐于2018-06-24
知道答主
回答量:4
采纳率:0%
帮助的人:8.4万
展开全部
首先不建议物理删除,最好还是做逻辑删除
至于取值,例如
JSP中定义了3个checkbox
<input type="checkbox" name="mybox" value="1" />
<input type="checkbox" name="mybox" value="2" />
<input type="checkbox" name="mybox" value="3" />
在action中取值
String[] strs = request.getParameterValues(“mybox”);

如果要想一起删的话
首先你复选框的值应该是具体对应数据库实体的ID,或者某一个唯一字段
删除语句为 DELETE FROM 表名 WHERE 字段 in (之前取到的复选框的值);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
505547737wmf
2012-05-03 · TA获得超过163个赞
知道答主
回答量:31
采纳率:0%
帮助的人:20.7万
展开全部
页面中每个数据的name写成同样的,比如userid,然后Action中定义成private userid[];使用userid.length可以获得数组长度,userid[i]就是第i个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式