javaweb分頁(jsp)
阿新 • • 發佈:2021-12-07
Javaweb分頁
- 連線資料庫,獲得結果集
<% String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8"; String username = "root"; String password = "root"; try { //載入驅動 Class.forName("com.mysql.cj.jdbc.Driver"); //構建連線 Connection connection = DriverManager.getConnection(url, username, password); //sql語句 String sql = "select * from jdbc.users"; //構建編譯物件(結果集設定可操作) PreparedStatement preparedStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); //執行sql ResultSet resultSet = preparedStatement.executeQuery(); //遍歷查詢結果 %>
- 構建表格,填入資料
<table align="center" width="80%" border=1 cellspacing="0"> <tr> <td>編 號:</td> <td>使用者名稱:</td> <td>密 碼:</td> <td>郵 箱:</td> <td>日 期:</td> <td colspan="2">操 作:</td> </tr> <% String str = (String) request.getParameter("page"); if (str == null) str = "0"; int pagesize = 5;//頁面大小 resultSet.last();//結果集遊標指向最後 int recordCount = resultSet.getRow();//最後一行的行號,即總行數 int maxPage = (recordCount % pagesize == 0) ? (recordCount / pagesize) : (recordCount / pagesize + 1);//總頁數 int currentPage = Integer.parseInt(str);//當前頁 if (currentPage < 1)//修正當前頁 currentPage = 1; else if (currentPage > maxPage) currentPage = maxPage; resultSet.absolute((currentPage - 1) * pagesize + 1);//遊標移動到當前頁的首行 for (int i = 1; i <= pagesize; i++) {//填入資料 %> <tr> <td><%=resultSet.getObject("id")%></td> <td><%=resultSet.getObject("name")%></td> <td><%=resultSet.getObject("password")%></td> <td><%=resultSet.getObject("email")%></td> <td><%=resultSet.getObject("today")%></td> <td><a href="Delete.jsp?id=<%=resultSet.getObject("id")%>">刪除</a></td> <td><a href="Update.jsp?id=<%=resultSet.getObject("id")%>&username=<%=resultSet.getObject("name")%>&password=<%=resultSet.getObject("password")%>&email=<%=resultSet.getObject("email")%>" onclick="return linkClick(this)"> 修改</a></td> </tr> <% if (!resultSet.next())//遊標下移 break; } %> </table>
- 製作分頁欄,關閉資料庫連線
<br> <hr> <div style="margin-left:540px"> 當前頁數:[<%=currentPage%>/<%=maxPage%>] <% if (currentPage > 1) { %> <a href="Show.jsp?page=1">第一頁</a> <a href="Show.jsp?page=<%=currentPage - 1%>">上一頁</a> <% } if (currentPage < maxPage) { %> <a href="Show.jsp?page=<%=currentPage + 1%>">下一頁</a> <a href="Show.jsp?page=<%=maxPage%>">最後一頁</a> <% } resultSet.close(); preparedStatement.close(); connection.close(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } %> </div>