บทความนี้ใช้สองวิธี: (1) เพื่อคำนวณจำนวนหน้าทั้งหมด (2) สอบถามข้อมูลหน้าเว็บที่ระบุเพื่อให้ได้เอฟเฟกต์การเพจเพงอย่างง่าย
แนวคิด: ก่อนอื่นคุณต้องให้วิธีการสืบค้นการแบ่งหน้าในวัตถุ DAO เรียกใช้วิธีนี้ที่เลเยอร์ควบคุมเพื่อค้นหาข้อมูลของหน้าระบุและแสดงข้อมูลของหน้าผ่าน EL Expressions และ JSTL ที่เลเยอร์การนำเสนอ
ให้ฉันแสดงการเรนเดอร์ก่อน:
นอกหัวข้อ: หน้าจอนี้แสดงโดยใช้แนวคิดการออกแบบของ หากคุณมีการปรับปรุงใด ๆ โปรดเสนอและเรียนรู้และดำเนินการร่วมกัน หากไม่มีความกังวลใจเพิ่มเติมให้เริ่มเข้าสู่หัวข้อ ขั้นตอนโดยละเอียดมีดังนี้:
1.DAO-DATABASE
คลาส JDBCUTILS ใช้เพื่อเปิดและปิดฐานข้อมูลและรหัสหลักมีดังนี้:
นำเข้า java.sql.Connection; นำเข้า Java.sql.DriverManager นำเข้า java.sql.preparedStatement; นำเข้า java.sql.resultset; นำเข้า Java.sql.sqlexception; /*** เชื่อมต่อเชื่อมต่อกับฐานข้อมูล* @return*/Public Connection Connect () {string user = "root"; String Password = "1234"; String driverclass = "com.mysql.jdbc.driver"; string Jdbcurl = "jdbc: mysql: // localhost: 3306/book"; DriverManager.getConnection (JDBCURL, ผู้ใช้, รหัสผ่าน);} catch (Exception e) {// TODO catch ที่สร้างขึ้นอัตโนมัติ catch.printStackTrace ();} return conn;}/*** ปิดฐานข้อมูล* @param conn* @param pstmt* @param resu ! = null) {ลอง {conn.close ();} catch (sqlexception e) {// toDo บล็อก catch ที่สร้างอัตโนมัติ}}} ถ้า (pstmt! = null) {ลอง {pstmt.close ()} catch (sqlexception e) null) {ลอง {result.close ();} catch (sqlexception e) {// todo catch blocke.printstacktrace ();}}}}}}}}}}}}}}วิธีการ getPage () และ method listuser () ในคลาส UserDao ใช้เพื่อคำนวณจำนวนหน้าทั้งหมดและสอบถามข้อมูลของหน้าระบุตามลำดับ รหัสหลักมีดังนี้:
นำเข้า java.sql.Connection; นำเข้า Java.sql.preparedStatement; นำเข้า java.sql.resultset; นำเข้า java.sql.sqlexception; นำเข้า java.util.arrayList; นำเข้า java.util.list; @return*/public int getPage () {int recordCount = 0, t1 = 0, t2 = 0; PreparedStatement PSTMT = null; resultet results = null; jdbcutils jdbc = ใหม่ jdbcutils (); การเชื่อมต่อ conn = jdbc.connect () {pstmt = conn.preparestatement (SQL); result = pstmt.executeQuery (); result.next (); recordCount = result.get.getInt (1); t1 = recordCount%5; t2 = recordCount/5; ในที่สุด {jdbc.close (conn, pstmt, result);} ถ้า (t1! = 0) {t2 = t2+1;} ส่งคืน t2;}/*** สอบถามข้อมูลของหน้าระบุ* @param pageno* @return*/รายการสาธารณะ arrayList <user> (); int pagesize = 5; int page = (pageno-1) * 5; jdbcutils jdbc = ใหม่ jdbcutils (); การเชื่อมต่อ conn = jdbc.connect (); string sql = "เลือก * จากลำดับหนังสือ หน้า); pstmt.setint (2, pagesize); result = pstmt.executeQuery (); ในขณะที่ (result.next ()) {ผู้ใช้ผู้ใช้ = ผู้ใช้ใหม่ (); user.setId (result.get.getInt (1)); user.setName (result.getString (2)); {// todo catch blocke.printstacktrace ();} ในที่สุด {jdbc.close (conn, pstmt, result);} รายการ return;}}}คลาสผู้ใช้ใช้เพื่อจัดเก็บข้อมูลแบบสอบถามและรหัสหลักมีดังนี้:
ผู้ใช้ระดับสาธารณะ {ID ส่วนตัว ID; ชื่อสตริงส่วนตัว; หมายเลขสตริงส่วนตัว; public int getId () {return id;} โมฆะสาธารณะ setId (int id) {this.id = id;} สตริงสาธารณะ getName () {return name;} public Void setName (ชื่อสตริง) {this.name = 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; Listuser ระดับสาธารณะขยาย httpservlet {public listuser () {super ();} public void destroy () {super.destroy (); // เพียงแค่วางสตริง "ทำลาย" ในบันทึก // ใส่รหัสของคุณที่นี่} โมฆะสาธารณะ doGET (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) โยน servletexception, ioexception {dopost (คำขอ, การตอบสนอง); {Response.Setcharacterencoding ("UTF-8"); int pageno = 1; userdao userdao = ใหม่ userdao (); รายการ <user> list = arraylist ใหม่ <user> (); สตริง pageno = request.getParameter ("pagenos"); null) {pageno = integer.parseint (pageno);} list = userdao.listuser (pageno); int RecordCount = userDao.getPage (); request.setAttribute ("recordCount" pageno); request.getRequestDispatcher ("userlist.jsp"). forward (คำขอ, การตอบกลับ);} โมฆะสาธารณะ init () พ่น servletexception {// ใส่รหัสของคุณที่นี่}} 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" prefix = "fn"%> <%String Path = request.getContext () request.getScheme ()+": //"+request.getServerName ()+":"+request.getServerport ()+path+"/";%> <! 'userlist.jsp' หน้าเริ่มต้น </title> <meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "หมดอายุ" เนื้อหา = "0" content = "keyword1, keyword2, keyword3"> <meta http-equiv = "คำอธิบาย" content = "นี่คือหน้าของฉัน"> <!-<link rel = "stylesheet" type = "text/css" href = "{width: tytle-tylid: center;} body {text-allign: center;} a {text-decoration: none;} ตาราง {border-collapse: การล่มสลาย;} </style> </head> <body> <h2 allign = "center"> ข้อมูลหนังสือ </h2> <table allign = "center"> <tr> ชื่อเรื่อง </td> <td> สินค้าคงคลัง </td> </tr> </table> <table align = "center"> <c: foreach items = "$ {listss}" var = "person"> <tr> <td> $ {person.id} </td> <td> $ {person.name} </td> } </td> </tr> </c: foreach> </table> <br> <c: ถ้า test = "$ {pagenos> 1}"> <a href = "listuser? pagenos = 1"> บ้าน </a> <a href = "listuser? pagenos = $ {pagenos-1} test = "$ {pagenos <RecordCount}"> <a href = "listuser? pagenos = $ {pagenos+1}"> หน้าถัดไป </a> </c: ถ้า> <form action = "listuser"> <h4 allign = "center" size = "1"> page <อินพุต type = "subment" value = "การมาถึง"> </h4> </form> </body> </html>ด้านบนเป็นรหัสตัวอย่างการแสดงพลิเคชันของการจัดทำหน้าจอของ Java Web ที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!