この記事では、次の2つの方法を使用しています。(1)ページの総数を計算します。 (2)指定されたページデータをクエリして、単純なページング効果を実現します。
アイデア:最初に、DAOオブジェクトにページネーションクエリメソッドを提供する必要があります。制御レイヤーでこの方法を呼び出して、指定されたページのデータを見つけ、プレゼンテーションレイヤーでEL式とJSTLを介してページのデータを表示します。
最初にレンダリングを見せてください:
オフトピック:このページディスプレイは、「プレゼンテーションレイヤーコントロールレイヤーダオレイヤーダタベース」のデザインアイデアを使用して実装されています。改善がある場合は、それを提案し、一緒に学び、進歩を遂げてください。これ以上苦労せずに、トピックを入力し始めます。詳細な手順は次のとおりです。
1.Dao layer-database
JDBCutilsクラスは、データベースを開閉するために使用され、コアコードは次のとおりです。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class JDBCUtils {private Connection conn=null;private PreparedStatement pstmt=null; /*** connect connect to the database* @return*/public connection connect(){string user = "root"; string password = "1234"; string driverclass = "com.mysql.jdbc.driver"; string jdbcurl = " drivermanager.getConnection(jdbcurl、user、password);} catch(例外e){// dodo auto-feenated catch blocke.printstacktrace();} return conn;}/***閉じる* @param conn* @param connt*/parim resu*/public void conn、preationpmt* result){if(conn!= null){try {conn.close();} catch(sqlexception e){// todo auto-generated catch block}} if(pstmt!= null){try {pstmt.close();} catch(sqlexception e){// dodo auto-jenerated catch blocke.printstacktrace();}} if(result!= null){try {result.close();} catch(sqlexception e){// todo auto-feenated catch blocke.printstacktrace();}}}}}}}Method getPage()およびMethod ListUser()userDaoクラスは、ページの総数を計算し、指定されたページのデータをそれぞれ照会するために使用されます。コアコードは次のとおりです。
java.sql.connection; Import java.sql.preparedStatement; Import java.sql.Resultset; Import Java.sqlecception; Import java.util.Laylist; Import java.util.list; import com.db.jdbcutils; public class userdb.jdaoのpublicuce of the calcuce the publicuce the publicuce the publicuce the publicupe int getPage(){int RecordCount = 0、t1 = 0、t2 = 0; preated -statement pstmt = null; results result = null; jdbcutils(); connection conn = jdbc.connect(); string sql = "count(*)from books"; {pstmt = conn.preparestatement(sql); result = pstmt.executequery(); result.next(); rescordCount = result.getInt(1); t1 = recordcount%5; t2 = recordcount/5;} catch(例外e){// todo auto-generate catch blocke.plintstacktrace();}最後に{jdbc.close(conn、pstmt、result);} if(t1!= 0){t2 = t2+1;} return t2;}/***指定されたページのデータ* @param pageno* @return*/public list <user> listuser(int pageno){reditementement pstmt pstmt <user; fentet arraylist <user>(); int pagesize = 5; int page =(pageno-1) * 5; jdbcutils jdbc = new jdbcutils(); connecting conn = jdbc.connect(); string sql = "id limitによる本の注文からselect *、 page); pstmt.setint(2、pagesize); result = pstmt.executequery(); while(result.next()){user user = new user(); user.setId(result.getint(1)); user.setName(result.getString(2)); user.setnumber(resultString(3); todo auto-enerated catch blocke.printstacktrace();}最後に{jdbc.close(conn、pstmt、result);} return list;}}ユーザークラスはクエリデータの保存に使用され、コアコードは次のとおりです。
public class user {private int id; private string name; private string number; public int getid(){return id;} public void setid(int id){this.id = id;} public string getname(){return name;} public void setname(string name){this.name = name;} public string getnumber( 番号;}} 2。制御層
Listuserクラスは、userDaoオブジェクトを呼び出してデータをクエリし、ページを割り当ててデータを表示します。コアコードは次のとおりです。
java.io.ioexception; Import java.io.printwriter; import java.util.arraylist; Import java.util.list; Import javax.servlet.servletexception; Import javax.servlet.http.httpservlet; javax.servlet.http.httpservletresponse; Import com.dao.user; Import com.dao.userdao; public class listuser extends httpservlet {public listuser(){super();} public void destroy(){super.destroy(); //ログに「破壊」文字列を置くだけで//ここにコードを置く} public void doget(httpservletrequest request、httpservletresponse応答)Servletexception、ioexception {dopost(request、response);} public void dopost(httpservletrequestリクエスト、httpservletrespreletedseptexceptionのリクエスト) {respons.setcharacterencoding( "utf-8"); int pageno = 1; userdao userdao = new userdao(); list <users <user>(); string pageno = request.getparameter( "pagenos"); if(pageno!= request.getParameter( "pagenos"); null){pageno = integer.parseint(pageno);} lists = userdao.listuser(pageno); int recordcount = userdao.getPage(); request.setattribute( "recordcount"、userdao.getpage()); request.setattribute( "liptss" "、" lietss " pageno); request.getRequestDispatcher( "userlist.jsp")。 3。発現層
出力ページuserlist.jspは、ELとJSTLを使用してクエリ結果を出力するために使用されます。コアコードは次のとおりです。
<%@ page Language = "Java" Import = "Java.util。*" PageEncoding = "Utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <%@ hatlib uri = " prefix = "fmt"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn"%> <%string path = request.getContextPath(); string basepath = request.getScheme()+"://"+request.getServername()+":"+request.getServerport()+path+"/";%> <!doctype html public " - // w3c // dtd html 4.01 transitional // 'userlist.jsp'開始ページ</title> <meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "0"> <meta http-equiv = "" key content = "keyword1、keyword2、keyword3"> <meta http-equiv = "description" content = "this is my page"> <! - <link rel = "styleSheet" type = "text/css" href = "styles.css"> - > <style type = "text/css"> th、td {width:150px; center;} body {text-align:center;} a {text-decoration:none;} table {border-collapse:collapse;} </style> </head> <body> <h2 align = "center"> book情報</h2> <table align = "center"> <tr> <td> book番号</td> <td> bookタイトル</td> <td> inventory </td> </tr> </table> <table align = "center"> <c:foreach items = "$ {listss}" var = "person"> <tr> <td> $ {person.id} </td> <td> $ {person.Name} } </td> </tr> </c:foreach> </table> <c:if test = "$ {pagenos> 1}"> <a href = "listuser?pagenos = 1"> home </a> <a href = "listuser?pagenos = $ $ {pagenos-1}"> <c> </c:if> test = "$ {pagenos <recordcount}"> <a href = "listuser?pagenos = $ {pagenos+1}">次のページ</c:if> <form action = "listuser"> <h4 align = "center">合計$ {レコードカント}ページsize = "1"> page <input type = "" value = "artion"> </h4> </form> </body> </html>上記は、編集者が紹介したJava Webのシンプルなページネーションディスプレイの例です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!