JAVAWEB 删除多条记录的实现

javascript:

function delAllPick()
{

//获取所有名字为ck的编号组件
var ck = document.getElementsByName("ck");

//ids字符串
var s = "";

//循环ck数组
for(var i = 0 ; i < ck.length ; i ++)
{
//如果被选择的选中
if(ck[i].checked)
{
//编号字符串累加
s+=ck[i].value+";";
}
			
}

//确认选项
var ok = window.confirm("确定要删除["+s+"] 记录吗?");
		
//如果确认选择
if(ok)
{
//把ids传入后台调用servlet
document.location = "DelMoreStudentController?ids="+s;
}

}

servlet 代码:

//编码设置
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
		
response.setContentType("text/html");
PrintWriter out = response.getWriter();
		
//获取前台的ids
String [] ids = request.getParameter("ids").split(";");
		
//StudentDao
StudentDao dao = new StudentDao();
		
//dao执行删除
if(dao.delStudent(ids))
{
    request.setAttribute("error", "删除成功" );
}
else
{
	request.setAttribute("error", "删除失败" );
}
		
//获取值 返回全台显示
List<Student> ls = dao.getPageStudents("", 1, 3);

//传到前台参数所有信息
request.setAttribute("ls", ls);

//当前页数第一
request.setAttribute("currentpage",1);

//返回所有的页数
request.setAttribute("allpage", dao.getStudentPages(3));

//跳转到页面 传入值到前端
request.getRequestDispatcher("../success.jsp").forward(request, response);//跳转

Dao层代码: 

public boolean delStudent(String [] ids)
{

try {

Statement st = conn.createStatement();

//循环数组的每一个值			
for(int i = 0 ; i < ids.length ; i++)
{

//删除语句
String sql = "delete from testssm.student where sid="+ids[i];

//执行语句
st.execute(sql);

}
			
return true;
			
} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return false;

}

猜你喜欢

转载自blog.csdn.net/qq_36755212/article/details/82529356