程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 通過JSP程序來實現的分頁

通過JSP程序來實現的分頁

編輯:關於JSP

通過jsp(SUN企業級應用的首選)程序獲得database裡的數據,然後通過程序控制其顯示方式,這種方式明顯缺點是如果數據量比較大的時候會有明顯的性能下降

    現將測試代碼奉上,盡管我盡量限制代碼的長度

    先說下開發步驟;DB腳本,測試獲得的數據是否正確的顯示在一個table中,添加那些該顯示那些不該顯示,添加了首葉上葉下葉尾葉的功能,添加當前位置標簽比如4/5,添加直接跳轉到某頁的功能,處理掉一些bug。。

1。先寫數據庫端測試腳本:

--刪除表
drop table person;

--建立表
create table person (
 id int auto_increment not null Prima(最完善的虛擬主機管理系統)ry key ,
 uid  varchar(32),
 name varchar(32),
 password varchar(20)
);
--插入數據?不支持中文,必須指定表內投影,插入多於30條記錄用於測試分頁
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
insert into person(uid,name,password) values(uid1,testname,123456);
--事務提交

2。整個程序部分。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.sql.*"%>
<html>
<head>
    <title>jsp(SUN企業級應用的首選)通過程序來控制分頁</title>
    <script type="text/javascript">
            function openPage(currentpage) {
                document.getElementById("cp").value = currentpage;
                document.getElementById("frm").submit();

            }
            function changePage() {
            document.getElementById("cp").value = document.getElementById("selNumber").value ;
            document.getElementById("frm").submit();
            }
    </script>
</head>
<body>
     
      <%
        int pageSize = 10 ;
        int currentPage = 1 ;

        int allRecorder = 0 ;
        int pageNumber  ;

        try {
            currentPage = Integer.parseInt(request.getParameter("cp"))  ;
        } catch(Exception ex ) {
           
        }
        //關於數據庫連接部分的處理根據自己的數據庫來指定
        final String DBDriver = "org.gjt.mm.MySQL(和PHP搭配之最佳組合).Driver";
  final String DbUrl = "jdbc:MySQL(和PHP搭配之最佳組合)://localhost/test";
  final String DBUser = "root";
  final String DBPSW = "root";
  Connection conn = null;
  try {
   Class.forName(DBDriver);
   conn = DriverManager.getConnection(DbUrl,DBUser,DBPSW);
            String sql = "select count(id) from person";
            PreparedStatement pst = conn.prepareStatement(sql);
            ResultSet rs = pst.executeQuery();
            if(rs.next()) {
                  allRecorder = rs.getInt(1);
            }
            pageNumber = (allRecorder+pageSize-1)/pageSize ; //得到尾頁數
            rs.close();
            pst.close();

            sql = "select id,uid,name,password from person";
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
      %>
      <form action="test.jsp(SUN企業級應用的首選)" method="get" id="frm">
          <input type="button" value="首頁"   onclick="openPage(1);" <%=currentPage==1?"disabled":""%> />
        

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved