(jsp七)项目实例功能实现补充: 查询、修改及添加功能

说明:如果在页面显示的内容不是来自同一张表,则可以将查询的每一个字段及内容封装为一个Map对象,key为所查字段名,类型为字符串,value为所查字段值,因为值可以有很多种类型,所以需要设为Object类型,然后将所有集合对象存放到List中,这样就可以实现所查字段不来自同一张表的值的引用。本例中有两张表,产品表Product与类型表Type,两表通过类型号tid关联。

a.productDAOImpl :

findAllProducts()方法代码:

public List<Map<String, Object>> findAllProducts() {

        List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();

        try{

            conn=DBUtil.getConnection();

            String sql="SELECT pid,pname,price,address,product.`desc`,product.tid,tname FROM product,type WHERE product.tid=type.tid";

            ps=conn.prepareStatement(sql);

            rs=ps.executeQuery();

            while(rs.next()){

                Map<String,Object> map=new HashMap<String,Object>();

                map.put("pid",rs.getInt("pid"));

                map.put("pname",rs.getString("pname"));

                map.put("price",rs.getDouble("price"));

                map.put("address",rs.getString("address"));

                map.put("desc",rs.getString("desc"));

                map.put("tid",rs.getInt("tid"));

                map.put("tname",rs.getString("tname"));

                list.add(map);

            }

        }catch(Exception e){

            e.printStackTrace();

        }finally{

            DBUtil.close(rs, ps, conn);

        }

        return list;

    }

 

findAllProductsByPages(Integer currentPage, Integer pageSize)方法代码:

public List<Map<String, Object>> findAllProductsByPages(Integer currentPage, Integer pageSize) {

        List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();

        try{

            conn=DBUtil.getConnection();

            String sql="SELECT pid,pname,price,address,product.`desc`,product.tid,tname FROM product,type WHERE product.tid=type.tid LIMIT ?,?";

            ps=

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 JSP 分页查询添加删除按钮并实现删除功能,您需要进行以下步骤: 1. 在查询结果中添加删除按钮,可以使用 HTML 或 JSTL 标签实现,如: ```html <!-- 使用 HTML 实现删除按钮 --> <td> <a href="delete.jsp?id=${item.id}">删除</a> </td> <!-- 使用 JSTL 实现删除按钮 --> <td> <c:url var="deleteUrl" value="delete.jsp"> <c:param name="id" value="${item.id}" /> </c:url> <a href="${deleteUrl}">删除</a> </td> ``` 2. 创建 `delete.jsp` 页面,处理删除请求,如: ```jsp <% // 获取要删除的记录的 ID int id = Integer.parseInt(request.getParameter("id")); // 在此处编写删除记录的代码,可以使用 JDBC 或 ORM 框架实现 %> <!-- 删除成功后跳转回原页面 --> <% String referer = request.getHeader("Referer"); response.sendRedirect(referer); %> ``` 3. 在分页查询JSP 页面中,为每个分页链接和当前页链接添加删除按钮的查询参数,如: ```jsp <!-- 使用 HTML 实现分页链接和当前页链接 --> <c:forEach var="i" begin="1" end="${totalPages}"> <c:choose> <c:when test="${i == currentPage}"> <li class="active"><span>${i}</span></li> </c:when> <c:otherwise> <li><a href="?page=${i}&delete=${delete}"> ${i} </a></li> </c:otherwise> </c:choose> </c:forEach> <!-- 使用 JSTL 实现分页链接和当前页链接 --> <c:forEach var="i" begin="1" end="${totalPages}"> <c:choose> <c:when test="${i == currentPage}"> <li class="active"><span>${i}</span></li> </c:when> <c:otherwise> <li><a href="<c:url value='list.jsp'><c:param name='page' value='${i}' /><c:param name='delete' value='${delete}' /></c:url>">${i}</a></li> </c:otherwise> </c:choose> </c:forEach> ``` 4. 在分页查询JSP 页面中,处理删除请求的查询参数,并在查询数据时进行相应的处理,如: ```jsp <% // 获取分页查询的当前页数和每页显示的记录数 int currentPage = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page")); int pageSize = 10; // 获取删除请求的查询参数 boolean delete = request.getParameter("delete") != null; // 在此处编写查询数据的代码,可以使用 JDBC 或 ORM 框架实现 %> ``` 5. 在查询数据时,根据删除请求的查询参数进行相应的处理,如: ```jsp <% // 根据删除请求的查询参数进行相应的处理 if (delete) { // 获取要删除的记录的 ID int id = Integer.parseInt(request.getParameter("id")); // 在此处编写删除记录的代码,可以使用 JDBC 或 ORM 框架实现 } // 在此处编写查询数据的代码,可以使用 JDBC 或 ORM 框架实现 %> ``` 这样就可以在 JSP 分页查询添加删除按钮并实现删除功能了。需要注意的是,在实际开发中,应该对删除操作进行一定的安全性和合法性验证,以避免误删或非法删除。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值