javaweb案例 选中删除和查询功能
选中删除前端jsp代码
</table>
<input type="submit"value="全选" οnclick="checkAll()">
<input type="submit"value="全不选" οnclick="checkNoAll()">
<input type="submit"value="选中删除" οnclick="XDelete()">
</body>
<script type="text/javascript">
/*在js中获取多选框*/
var option =document .getElementsByName("option");
//全选
function checkAll(){
/*循环多选框*/
for (let i = 0; i < option.length; i++) {
/*checked默认选中*/
option[i].checked=true;
}
}
function checkNoAll(){
for (let i = 0; i < option.length; i++) {
/*checked选中*/
option[i].checked=false;
}
}
//选中删除
function XDelete() {
//定义一个id变量初始化值为空,用来存储选中的id
var id="";
//循环多选框
for (let i = 0; i < option.length; i++) {
//判断是否选中
if(option[i].checked==true){
//给选中的赋值给id 变量,并用逗号分隔
id=id+option[i].value+","
}
}
//路径
location .href ="XDeleteServlet?id="+id;
}
</script>
</html>
根据名称查询的前端jsp代码
<form action="SelectByNameServlet" method="get">
根据姓名查询<input type="text" name="name" value="${b.name}">
<input type="submit" value="查询">
</form>
选中删除功能的后端代码
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
在controller层
@WebServlet("/XDeleteServlet")
public class XDeleteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建对象
Goods1Service goods1Service = new Goods1Service();
//获取页面发送过来的id
String ids= req .getParameter("id") ;
//查看是否可以获取到选中的数据
//System.out.println(ids);
goods1Service.xDelete(ids);
//删除成功之后返回首页
req.getRequestDispatcher("SelectAllServlet").forward(req,resp);
}
}
在service层
public List<Goods1> selectByName(Goods1 goods1) {
// 获取SqlSession
SqlSession sqlSession = factory.openSession();
// 获取BrandMapper
Goods1Mapper mapper = sqlSession.getMapper(Goods1Mapper.class);
// 调用mapper接口中根据name查找的方法
List<Goods1> list = mapper.selectByName(goods1);
// 提交事务
sqlSession.commit();
// 释放资源
sqlSession.close();
return list;
}
// 根据id删除多条数据的方法
public void xDelete(String ids){
// 获取SqlSession
SqlSession sqlSession = factory.openSession();
// 获取BrandMapper
Goods1Mapper mapper = sqlSession.getMapper(Goods1Mapper.class);
// 调用方法
// 查看是否可以获取到选中的数据
// System.out.println(ids);
// 字符串分割
String[] split = ids.split(",");
// 给分割后的id进行循环,因为你删除的可能不是数据,可能是多条,所以需要循环
for (String str : split) {
// 给String ids转换为int类型
int id = Integer.parseInt(str);
// 调用mapper接口中根据id删除多条数据的方法
mapper.xDelete(id);
}
// 提交事务
sqlSession.commit();
// 释放资源
sqlSession.close();
}
在mapper层
@Delete("delete from goods1 where id = #{id};")
void xDelete(int id);
@Select("select * from goods1 where gname like concat(%,#{gname},%)")
List<Goods1> selectByName(Goods1 goods1);
下一篇:
Python爬取新闻联播(文字版)
