تستخدم هذه المقالة طريقتين: (1) لحساب إجمالي عدد الصفحات. (2) الاستعلام عن بيانات الصفحة المحددة لتحقيق تأثير ترحيل بسيط.
الفكرة: أولاً ، يجب عليك تقديم طريقة استعلام ترقيم الصفحات في كائن DAO. اتصل بهذه الطريقة في طبقة التحكم للعثور على بيانات الصفحة المحددة ، وعرض بيانات الصفحة من خلال EL Expressions و JSTL في طبقة العرض التقديمي.
اسمحوا لي أن أريكم العروض أولا:
خارج الموضوع: يتم تنفيذ عرض هذه الصفحة باستخدام فكرة التصميم الخاصة بـ "Database طبقة الطبقة-طبقة العروض التقديمية". إذا كان لديك أي تحسينات ، فيرجى اقتراحها والتعلم وتحقيق التقدم معًا. بدون مزيد من اللغط ، ابدأ في إدخال الموضوع. الخطوات التفصيلية هي كما يلي:
1.DAO طبقة database
يتم استخدام فئة JDBCutils لفتح وإغلاق قاعدة بيانات ، والرمز الأساسي كما يلي:
استيراد java.sql.connection ؛ استيراد java.sql.drivermanager ؛ استيراد java.sql.prepedstatement ؛ استيراد java.sql.resultset ؛ استيراد java.sql.sqlexception ؛ فئة عامة jdbcutils /. drivermanager.getConnection (jdbcurl ، المستخدم ، كلمة المرور) ؛} catch (استثناء e) {// todo catch blocke.printstacktrace النتيجة) {if (conn! = null) {try {conn.close () ؛} catch (sqlexception e) {// todo acto catch}}} if (pstmt! = null) {try {pstmt.close () ؛ blocke.printstacktrace () ؛}} if (result! = null) {try {result.close () ؛يتم استخدام الأساليب GETPAGE () و METROMER LISTUSER () في فئة userDAO لحساب إجمالي عدد الصفحات والاستعلام عن بيانات الصفحة المحددة على التوالي. الرمز الأساسي هو كما يلي:
استيراد java.sql.connection ؛ استيراد java.sql.preparedstatement ؛ استيراد java.sql.resultset getPage () {int recordCount = 0 ، t1 = 0 ، t2 = 0 ؛ preparedStatement pstmt = null ؛ resultset result = null ؛ jdbcutils jdbc = new jdbcutils () ؛ connection conn = jdbc.connect () ؛ string sql = "select count (*) from books" {pstmt = conn.preparestatement (sql) ؛ result = pstmt.executequery () ؛ result.next () أخيرًا {jdbc.close (conn ، pstmt ، result) ؛} if (t1! = 0) {t2 = t2+1 ؛} return t2 ؛}/*** استعلام بيانات الصفحة المحددة* pageno* @return*/public list <Sether> listuser (int pageno) ArrayList <Sether> () ؛ int pagesize = 5 ؛ int page = (pageno-1) * 5 ؛ jdbcutils jdbc = new jdbcutils () ؛ connection conn = jdbc.connect () ؛ string sql = "select * from proder by id limit؟ ،؟" page) ؛ pstmt.setint (2 ، pagesize) ؛ result = pstmt.executequery () ؛ بينما (result.next ()) {user user = new user () ؛ user.setId (result.getint (1)) ؛ user.setName (result.getString (2)) {// todo catch blocke.printstacktrace () ؛} أخيرًا {jdbc.close (conn ، pstmt ، result) ؛} قائمة الإرجاع ؛}}يتم استخدام فئة المستخدم لتخزين بيانات الاستعلام ، والرمز الأساسي كما يلي:
مستخدم الفئة العامة {private int id ؛ اسم السلسلة الخاصة ؛ رقم السلسلة الخاصة ؛ public int getId () {{معرف الإرجاع ؛} public void setId (int id) {this.id = id ؛} السلسلة العامة getName () {return name ؛ رقم؛}} 2. طبقة التحكم
تستدعي فئة ListUser كائن userDao للاستعلام عن البيانات وتعيين الصفحة لعرض البيانات. الرمز الأساسي هو كما يلي:
استيراد java.io.ioException ؛ استيراد java.io.printwriter ؛ استيراد java.util.arraylist ؛ استيراد java.util.list ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ javax.servlet.http.httpservletresponse ؛ استيراد com.dao.user ؛ استيراد com.dao.userdao ؛ // فقط يضع سلسلة "تدمير" في log // وضع الكود الخاص بك هنا} doget public void (httpservletrequest طلب ، httpservletresponse) يلقي servletexception ، ioException {dopost (request ، response) ؛} {response.setcharacterencoding ("utf-8") ؛ int pageno = 1 ؛ userDao userDao = new userDao () ؛ list <serve> stists = new ArrayList <Sether> () ؛ String pageno = request.getParameter ("pagenos") ؛ if (pageno! null) {pageno = integer.parseint (pageno) ؛} قوائم = userDao.listuser (pageno) ؛ int recordCount = userDao.getPage () 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 prefix = "fmt" ٪> <٪@ taglib uri = "http://java.sun.com/jsp/jstl/functions request.getScheme ()+": //"+request.getServerName ()+": "userlist.jsp" صفحة بدء التشغيل </title> <meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "0" content = "keyword1 ، keyword2 ، keyword3"> <meta http-equiv = "description" content = "this is my page"> <!-<link rel = "stylesheet" type = "text/css" href = "styles.css Center ؛} body {text-align: center ؛} a {text-decoration: none ؛} table {border-collapse: collapse ؛} </style> </head> <body> <h2 align = "center"> معلومات الكتاب </h2> <table align = "center" العنوان </td> <td> جرد </td> </tr> </table> <جدول table align = "center"> <c: foreach heads = "$ {sists}" var = "person"> <td> $ {person.id} </td> } </td> </tr> </c: foreach> </table> <br> <c: if test = "$ {pagenos> 1}"> <a href = "listuser؟ pagenos = 1"> home </a> <a href = "listuser؟ pagenos = $ {pagen-1}} test = "$ {pagenos <recordCount}"> <a href = "listUser؟ pagenos = $ {pagenos+1}" size = "1"> صفحة <إدخال type = "إرسال" value = "encl"> </h4> </pong> </body> </html>ما ورد أعلاه هو مثال عرض ترقيم الصفحات البسيط من شبكة الويب Java التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!