java批量删除checkbox中选中的对象
这是我jsp页面的代码
<script type="text/javascript">
function deleteAll() {
var flag = false;
var deId = document.getElementsByName("usId");
for (var i = 0; i < deId.length; i++) {
if (deId[i].checked) {
flag = true;
}
}
if (!flag) {
alert("请选择需要删除的用户!");
return ;
}
if (window.confirm("确认删除吗?")) {
return true;
}return false;
}
</script>
方法
public boolean deleteAllUsers(Integer id){
String hql = "from User user where id = "+id;
List<User> list = (List<User>)this.
getHibernateTemplate().find(hql);
if(list!=null){
this.getHibernateTemplate().deleteAll(list);
return true;
}else {
return false;
}
}
怎样才能从jsp页面传值到DAO呢?但我觉得自己写的这个方法好像也有点错误?
------解决方案--------------------
你写的Js如果只有一条记录的时候肯定会有问题的,因为此时的多选框已经不是数组了,贴一下我写的,我的实现是将所要删除的id用冒号分隔,然后传给后台
JScript code
function deleteCompany() {
var ids = document.fom.ids;
var result = "";
if (typeof (ids) != "undefined") {
if (typeof (ids.length) != "undefined") {
for ( var i = 0; i < ids.length; i++) {
if (ids[i].checked) {
result += ids[i].value + ";"
}
}
result = result.substring(0, result.length - 1);
} else {
if(ids.checked)
result = ids.value;
}
}
if (result == "") {
alert("请选择要删除的记录");
} else {
window.location.href = "company_delete.action?ids="+result+"&&groupType=${groupType}";
}
}