บทความนี้อธิบายวิธีการของ Struts2+Hibernate เพื่อใช้การเพจข้อมูล แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
1. ใช้ไฮเบอร์เนตเพื่อใช้เทคโนโลยีการเพจ:
/*** ใช้คำสั่ง HQL สำหรับการสืบค้นหน้า* @Param HQL HQL คำสั่งที่จำเป็นต้องค้นหา* @param Offset Index Record แรก* @param PageSize จำนวนระเบียนที่จะแสดงต่อหน้า* @return บันทึกทั้งหมดของหน้าปัจจุบัน*/ @presswarnings ("unchecked" รายการวัตถุ Hibernatecallback รายการ = getHibernatetemplate () .ExecuteFind (ใหม่ hibernateCallback () {// วิธีการที่จะต้องนำไปใช้ในอินเตอร์เฟส hibernatecallback วัตถุสาธารณะ doinhibernate (เซสชันเซสชัน) hibernateException .SetFirStresult (ออฟเซ็ต) .SetMaxResults (PAGESIZE) .List (); return list;} // รับจำนวนทั้งหมดของระเบียนสาธารณะ int getrows (String hql) {return gethibernatetemplate () ค้นหา (hql) .size ();}2. โทรไฮเบอร์เนตเพื่อใช้เทคโนโลยีการเพจจี
// paging @suppresswarnings ("ไม่ได้ตรวจสอบ") Public String Paging () {String hql = "จากรายได้"; // ตารางข้อมูลเพจ Int PageSize = 3; // จำนวนระเบียนที่แสดงต่อหน้า int allrows = service.getrows (HQL); // บันทึกทั้งหมด int allpage = 0; // หน้าทั้งหมด int offset = getPage () + 1; // ดัชนีของบันทึกแรก/*if (rows % ขนาด! = 0) {pagesize = rows/ size + 1; } else {pagesize = rows / size; }* / allPage = (allrows - 1) / pagesize + 1; // คำนวณจำนวนทั้งหมดของรายการหน้า <inace> รายได้ = service.findbypage (HQL, (Offset-1)*pagesize, pagesize); request.setAttribute ("AllPage", AllPage); request.setAttribute ("ชดเชย", ชดเชย); request.setAttribute ("รายได้", รายได้); กลับ "เพจ";}3.STRUTS.XML การกำหนดค่า:
<action name = "รายได้"> <!-กำหนดการดูหน้ามุมมองสำหรับมุมมองเชิงตรรกะสองมุม-> <ชื่อผลลัพธ์ = "ข้อผิดพลาด">/orlan.jsp </result> <ชื่อผลลัพธ์ = "paging">/รายได้/รายได้/รายได้
4. แสดงอินเตอร์เฟส Interpace Recience_list.jsp
<%@ page language = "java" pageencoding = "gbk"%> <%@ taglib คำนำหน้า = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt"%@ taglib prefix = "S "-// w3c // dtd html 4.01 transitional // en"> <head> <title> รายการรายได้ </title> <meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache" http-equiv = "คำหลัก" content = "คำหลัก 1, คำหลัก 2, คำหลัก 3"> <meta http-equiv = "คำอธิบาย" content = "นี่คือหน้าของฉัน"> <link rel = "stylesheet" type = "text/css" href = " Align = "Center"> <tr> <td> ・ ตำแหน่งปัจจุบัน: การจัดการรายได้ >> ดูรายได้ </td> </tr> <tr> <td bgcolor = "#ffffff"> <br> <table allign = "center" cellpadding = "1" cellpacing = "1" bgcolor = "#036500" bgColor = "#fffff"> <td align = "center"> หมายเลขรายได้ </td> <td align = "center"> วันที่ </td> <td align = "center"> วิธี </td> <td align = "center"> จำนวนเงิน </td> align = "center"> align = "center"> บุคลากร </td> <td align = "center"> หมายเหตุ </td> <td align = "center"> การดำเนินการ </td> </tr> <s: iterator value = "#request.income"> align = "center"> <s: วันที่ชื่อ = "วันที่" รูปแบบ = "yyyy-mm-dd"/> </td> <td align = "center"> <s: ค่าคุณสมบัติ = "money"/> </td> <td align = "center"> align = "center"> <s: ค่าคุณสมบัติ = "บุคลากร"/> </td> <td align = "center"> <s: ค่าคุณสมบัติ = "หมายเหตุ"/> </td> <td align = "center"> <s: property = "lemarks"/> </td> <td $ {id}? ')) location =' รายได้! del? id = $ {id} '"> ลบ </a> <a href =" javascript: ถ้า (ยืนยัน (' คุณแน่ใจว่าต้องการแก้ไข $ {id}? <enter> มีหน้าทั้งหมด $ {AllPage} ในปัจจุบัน $ {Offset} หน้า <a href = "รายได้! Paging? page? page = 0"> <font size = "2" color = "blue"> home </font> </a> <a href = "javascript: ถ้า size = "2" color = "red"> หน้าก่อนหน้า </font> </a> <a href = "javascript: ถ้า ($ {ออฟเซ็ต} <$ {allPage}) ตำแหน่ง = 'รายได้! หน้า? หน้า = $ {หน้า+1}'"> <font size = "2" สีแดง " href = "รายได้! Paging? page = $ {allpage-1}"> <font size = "2" color = "blue"> หน้าสุดท้าย </font> </a> </td> </tr> </table> </div> </body>5. ผลการแบ่งหน้า:
บทความนี้ไม่ได้ให้การใช้งานในฐานข้อมูลพื้นฐาน แต่ตราบใดที่คุณเชี่ยวชาญหลักการเพจฉันเชื่อว่านี่ไม่ใช่ปัญหาใหญ่ สำหรับหลักการเพจที่เฉพาะเจาะจงโปรดดูบทความก่อนหน้านี้: "การวิเคราะห์ของ Hibernate Framework Data Data Technology Technology"
ฉันหวังว่าคำอธิบายในบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคนตามกรอบการทำงานของไฮเบอร์เนต