ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jsp分页技术

2021-06-19 18:04:18  阅读:143  来源: 互联网

标签:分页 pageSize request 技术 pageCode jsp ex catch import


jsp分页技术

在实际应用中,如果从数据库中查询的记录特别的多,甚至超过了显示屏的显示范围,这个时候可将结果进行分页显示。

分页首先要确定有多少条记录然后根据一页要显示几行来进行分页里面包含jsp,java等

下面是代码可以拿来用

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%> 
<html>
 <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
     $("#jia").color(red)
     </script>
<head>
<meta charset="UTF-8">
<title>查询页</title>
</head>
<body>
<table >
<tr id = "jia">
<td>编号</td>
<td>账户名</td>
<td>密码</td>
<td>手机号 </td>
<td>性别</td>
<td>身份证号</td>
</tr>
<c:forEach items="${caxun }" var="l">
<tr>
<td>${l.uid }</td>
<td>${l.username }</td>
<td>${l.pwd }</td>
<td>${l.tel } </td>
<td>${l.sex }</td>
<td>${l.idcard } </td>
</tr>
</c:forEach>
<tr>
<td><a href="Kong?pageCode=1">首页</a></td>
<c:if test="${pageCode==1}" var="c"></c:if>
<c:if test="${c}">
<td><a href="Kong?pageCode=${pageCode=1}">上一页</a></td>
</c:if>
<c:if test="${!c}">
<td><a href="Kong?pageCode=${pageCode-1}">上一页</a></td>
</c:if>
<td>当前是${pageCode}页</td>
<td>共${totalCode}页</td>
<td><a href="Kong?pageCode=${pageCode+1}">下一页</a></td>
<td><a href="Kong?pageCode=${totalCode}">尾页</a></td>

</tr>
</table>
</body>
</html>

后台代码

package com.hp.de;

import java.io.IOException;
import java.util.List;
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 com.hp.bean.User;
import com.hp.dao.UserDao;
import com.hp.dao.UserDaoImpl;

@WebServlet("/Kong")
public class Kong extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        int pageSize = 3; int pageCode = 0; int totalCode=0; int totalCount=0;
         UserDao dao = new UserDaoImpl();
         totalCount = dao.shu();
         if (totalCount%pageSize==0) {
             totalCode = totalCount/pageSize;
        }else {
            totalCode = totalCount/pageSize+1;
        }
        if (request.getParameter("pageCode")==null || request.getParameter("pageCode")=="") {
            pageCode = 1;
        }else {
            if (Integer.parseInt(request.getParameter("pageCode"))>totalCode) {
                pageCode = totalCode;
            }else {
                pageCode=Integer.parseInt(request.getParameter("pageCode"));
            }
        }
         request.setAttribute("pageCode", pageCode);
         request.setAttribute("totalCode", totalCode);
         List<User> caxun = dao.caxun(pageSize,Integer.parseInt(request.getParameter("pageCode")));
         request.setAttribute("caxun", caxun);
         request.getRequestDispatcher("Fen.jsp").forward(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

链接数据库

public class UserDaoImpl implements UserDao{
       String className = "com.mysql.cj.jdbc.Driver";
       String url = "jdbc:mysql://localhost:3306/mode?serverTimezone=UTC";
       String user = "root";
       String password = "123";
    @Override
    public int shu() {
        int a = 0;
        try {
            Class.forName(className);
             Connection con = DriverManager.getConnection(url, user, password);
             String s = "SELECT count(*) as 'shu' FROM user";
             PreparedStatement pr = con.prepareStatement(s);
             ResultSet ex = pr.executeQuery();
             if (ex.next()) {
                a= ex.getInt("shu");
            }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
        return a;
    }
    @Override
    public List<User> caxun(int pageSize ,int pageCode ) {
         List<User> li = new ArrayList<User>();
        try {
            Class.forName(className);
             Connection con = DriverManager.getConnection(url, user, password);
             String s = "SELECT * FROM user limit ?,?";
             PreparedStatement pr = con.prepareStatement(s);
             pr.setInt(1,(pageCode-1)*pageSize);
             pr.setInt(2,pageSize);
             ResultSet ex= pr.executeQuery();
            while (ex.next()) {
                User us = new User();
                us.setUid(ex.getInt("uid"));
                us.setUsername(ex.getString("username"));
                us.setPwd(ex.getString("pwd"));
                us.setSex(ex.getString("sex"));
                us.setTel(ex.getString("tel"));
                us.setIdcard(ex.getString("idcard"));
                li.add(us);
            }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return li;
    }

标签:分页,pageSize,request,技术,pageCode,jsp,ex,catch,import
来源: https://blog.csdn.net/jmc_wax/article/details/118056969

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有