Artikel ini menjelaskan metode Struts2+Hibernate untuk mengimplementasikan paging data. Bagikan untuk referensi Anda, sebagai berikut:
1. Gunakan Hibernate untuk mengimplementasikan teknologi paging:
/*** Use hql statement for page query* @param hql hql statement that needs to be query* @param offset first record index* @param pageSize Number of records to be displayed per page* @return All records of the current page*/@SuppressWarnings("unchecked")public List findByPage(final String hql,final int offset, final int pageSize){ //Execute query through a Daftar objek hibernatecallback daftar = gethibernateTemplate () .executEfind (hibernatecallback baru () {// metode yang harus diimplementasikan dalam hibernateCallback antarmuka objek publik doinhibernate (sesi) lemparan hibernateException, sqlexception {// execute hibernate pager hibernateException, sqlexception {// execute hibernate pager hibernate = sqlexception. .setFirStresult (offset) .setMaxResults (halaman) .list (); daftar pengembalian;} // Dapatkan jumlah total catatan int getRows publik (string hql) {return gethibernateTemplate (). find (hql) .size ();}2. Hubungi Hibernate untuk mengimplementasikan teknologi paging dalam aksi dan melompat ke antarmuka tampilan:
// paging @suppresswarnings ("uncecked") public string paging () {string hql = "from pendapatan"; // paging data tabel int int halaman = 3; // Jumlah catatan yang ditampilkan per halaman int allrows = service.getrows (HQL); // Total Records int allpage = 0; // Total halaman int offset = getPage () + 1; // indeks catatan pertama/*if (baris % ukuran! = 0) {pagesize = baris/ ukuran + 1; } else {pagesize = baris / ukuran; }* / allpage = (allrows - 1) / halaman + 1; // Hitung Jumlah Total Daftar Halaman <Prence> pendapatan = service.findbypage (HQL, (OFFSET-1)*halaman, halaman); request.setAttribute ("allpage", allpage); request.setAttribute ("offset", offset); request.setAttribute ("pendapatan", pendapatan); mengembalikan "paging";}3.struts.xml konfigurasi:
<action name = "pendapatan"> <!-Konfigurasikan halaman tampilan untuk dua tampilan logis-> <name result = "error">/error.jsp </hasilnya> <name hasil = "paging">/pendapatan/pendapatan_list.jsp </hasilnya> <nama hasil = "perbarui">/pendapatan/pendapatan_edit.jsp </hasil </hasil>
4. Tampilan antarmuka laba rugi_list.jsp
<%@ page language="java" pageEncoding="GBK"%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><head> <title>Revenue List</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="keywords" Content = "KeyWord1, KeyWord2, KeyWord3"> <meta http-equiv = "description" content = "this is my page"> <link rel = "stylesheet" type = "text/css" href = "../ <fictes.css"> </head> <body> <Div> <tabel cellpadding = "0・ Lokasi Saat Ini: Manajemen Pendapatan >> Lihat Pendapatan </td> </tr> <tr> <td bgcolor = "#ffffff"> <br> <table align = "center" cellpadding = "1" cellpacing = "1" bgcolor = "#036500" BorderColor = "#fffff"> <"fFFFF" = "#036500"#"#"#"#"#"#036500" align = "center"> Nomor pendapatan </td> <td align = "center"> Tanggal </td> <td align = "center"> metode </td> <td align = "center"> Jumlah </td> <td align = "center"> ALIGN ALIGN ALIGN = "TD =" TD = "TD =" TD = "TD =" TD = "TD =" TD = "TD =" TD = "TD/TD"> <td align = "center"> Catatan </td> <td align = "center"> Operasi </td> </tr> <s: nilai iterator = "#request.income"> <tr bgcolor = "#ffffff"> <td align = "center"> <s: value properti = "id"/</td = "td align =" center "> <s: value properti =" id "//td" td = td = "TP: TOIGN"> <S: Nilai properti = "id"/</td = "td Align =" TOT "> <s: value properti =" id "//td" td = td a align = "T: TD: TOIGT" T: TD: TD: TD: "TD" TD "CENTER"> format = "yyyy-mm-dd"/> </td> <td align = "center"> <s: nilai properti = "uang"/> </td> <td align = "center"> <s: nilai properti = "proyek"/> </td> <td align = "center"> <s: nilai properti = "sumber"/> </td> <td Align = "center"> <s: value properti = "source"/</td> <td align = "center"> <s: value properti = "source"/</td> <td align = "center"> <s: value properti = "source"/</td> <td align = "center"> <s: value properti = "Source" value = "personel"/> </td> <td align = "center"> <s: value properti = "komentar"/> </td> <td align = "center"> <s: value properti = "komentar"/> </td> <td align = "center"> <a href = "javascript: if Anda (if Anda ('center"> <a href = "javascript: if Anda (if conforscript: if Anda (if conforscript: if conforscript: if conforscript: if conforscript: if Anda (' $ {id}? ')) location =' pendapatan! del? id = $ {id} '"> delete </a> <a href =" javascript: if (konfirmasi (' Anda yakin ingin memodifikasi $ {id}? ')) Lokasi =' pendapatan! <Tenter> Ada total $ {allpage} halaman, saat ini $ {offset} halaman <a href = "pendapatan! paging? page = 0"> <font size = "2" color = "blue" home </font> </a> <a href = "javaScript: if (if ($ {$ {page {$ 1) size = "2" color = "red"> halaman sebelumnya </font> </a> <a href = "javascript: if ($ {offset} <$ {allpage}) location = 'pendapatan! paging? page = $ {page+1}'"> <font size = "2" color = "red"> font </font> berikutnya </font> <font = "2" color = "red"> font </font> berikutnya </font> <font = "2" color = "red"> FONT </font> FONT> FONT> <font = "2" color = "Red"> FONT/FONT> FONT> NEXT> FONT> <font = "2" href = "Penghasilan! Paging? Page = $ {allpage-1}"> <font size = "2" color = "blue"> Halaman terakhir </font> </a> </td> </tr> </able> </div> </body>5. Hasil pagination:
Artikel ini tidak memberikan implementasi dalam database yang mendasarinya, tetapi selama Anda menguasai prinsip paging, saya percaya ini bukan masalah besar. Untuk prinsip -prinsip paging tertentu, silakan merujuk ke artikel sebelumnya: "Analisis Contoh Teknologi Paging Data Kerangka Hibernate"
Saya berharap deskripsi dalam artikel ini akan membantu pemrograman Java semua orang berdasarkan kerangka hibernasi.