ホームページ >ウェブフロントエンド >jsチュートリアル >jsp ページ データ ページングは​​ Baidu ページング効果を模倣します (例による説明)

jsp ページ データ ページングは​​ Baidu ページング効果を模倣します (例による説明)

韦小宝
韦小宝オリジナル
2018-01-18 09:51:591930ブラウズ

以下のエディターは、Baidu ページング効果を模倣するための JSP ページ データ ページングに関する記事を提供します (例付きの説明)。編集者はこれが非常に優れていると考えているので、JSP ソース コードを共有し、参考として提供します。 JSPに興味がある方は、エディタをフォローして見てください

これ以上ナンセンスではなく、コードにアクセスしてください

自分のプロジェクトとパッケージ名に従って修正してください

<%@page import="web09.shop.DBUtil"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>数据分页</title>
  <style type="text/css">
    .page a{
      min-width: 34px;
      height: 34px;
      border: 1px solid #e1e2e3;
      cursor: pointer;
      display:block;
      float: left;
      text-decoration: none;
      text-align:center;
      line-height: 34px;      
    }
    
    .page a:HOVER {
      background: #f2f8ff;
      border: 1px solid #38f ;
    }
    .page a.prev{
      width:50px;
    }
    .page span{
      width: 34px;
      height: 34px;
      border: 1px solid transparent;
      cursor: pointer;
      display:block;
      float: left;
      text-decoration: none;
      text-align:center;
      line-height: 34px;
      cursor: default;
    }
  </style>
</head>

<body>
<table class="tt" border="1" align="center" width="80%" cellpadding="10">
  <tr>
    <th>ID</th>
    <th>姓名</th>
    <th>年龄</th>
    <th>专业</th>
  </tr>
  <%
  DBUtil dbutil=new DBUtil();
  Connection conn=dbutil.getCon();
  //Connection conn = new DBUtil().getCon();
  PreparedStatement pstmt1 = conn.prepareStatement("select count(*) from student");
  ResultSet rs1 = pstmt1.executeQuery();
  rs1.next();
  int recordCount = rs1.getInt(1);   //记录总数
  int pageSize = 10;          //每页记录数
  int start=1;            //显示开始页
  int end=10;              //显示结束页
  int pageCount = recordCount%pageSize==0 ? recordCount/pageSize : recordCount/pageSize+1; 
  int currPage = request.getParameter("p")==null ? 1 : Integer.parseInt(request.getParameter("p"));
  
  currPage = currPage<1 ? 1 : currPage;
  currPage = currPage>pageCount ? pageCount : currPage;
  
  PreparedStatement pst = conn.prepareStatement("select * from student limit ?,?");
  pst.setInt(1,currPage*pageSize-pageSize);
  pst.setInt(2,pageSize);
  ResultSet rs = pst.executeQuery();
  
  while(rs.next()){
  %>
  <tr align="center">
  <td><%=rs.getInt(1) %></td>
  <td><%=rs.getString(2) %></td>
  <td><%=rs.getInt("age") %></td>
  <td><%=rs.getString(4) %></td>
  </tr>
  <%
  }
  %>
  <tr>
     <th colspan="4" class="page">
       <% 
         out.print(String.format("<a class=\"prev\" href=\"?p=%d\">首页</a>",1));
         if(currPage>=7){
           start=currPage-5;
           end=currPage+4;
         }
         if(start>(pageCount-10)){
           start=pageCount-9;
         }
         if(currPage>1){
           out.print(String.format("<a class=\"prev\" href=\"?p=%d\">上一页</a>",currPage-1));
         }
         
         for(int i=start;i<=end;i++){
           if(i>pageCount) break;
           String pageinfo=String.format("<a href=\"?p=%d\">%d</a>",i,i);
           if(i==currPage){
             pageinfo=String.format("<span>%d</span>",i);
           }
           out.print(pageinfo);
         }
         
         if(currPage<=pageCount){
           out.print(String.format("<a class=\"prev\" href=\"?p=%d\">下一页</a>",currPage+1));
         }
         
         out.print(String.format("<a class=\"prev\" href=\"?p=%d\">尾页</a>",pageCount)); 
       %>
     </th>
   </tr>
</table>
</body>
</html>

上記のJSPページデータ ページングは​​ Baidu を模倣しています。 ページング効果 (例を挙げて説明) はすべて編集者が共有した内容ですので、ご参考になれば幸いです。 !

関連する推奨事項:

jsp 接続 mysql コード リファレンス ~ 個人テストに利用可能

jsp の ResourceBundle クラスの国際化

JSP の基本的な概要

以上がjsp ページ データ ページングは​​ Baidu ページング効果を模倣します (例による説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。