SpringMVC+Hibernate telah menjadi integrasi kerangka kerja yang digunakan banyak orang sekarang. Baru -baru ini, saya telah belajar dan menjelajah. Karena banyak proyek dalam proyek pengembangan menggunakan fungsi Paging Daftar, di sini kami merujuk pada beberapa informasi di Internet, dan menggunakan SpringMVC4+Hibnerate4 untuk meringkas saat belajar dan merangkumnya, dan untuk mendapatkan kode fungsi paging. Meskipun tidak selalu universal, nilai referensi untuk pemula.
Proses dasar implementasi pagination:
1. Kategori Alat Pagination
Ide:
1.
2. Tulis kelas halaman dan tentukan metode, yang harus mencakup: jumlah total halaman, mulai merekam halaman saat ini, halaman beranda, halaman berikutnya, halaman sebelumnya, halaman terakhir dan metode lainnya
Kodenya adalah sebagai berikut:
Paket cn.myic.model; import java.util.list; halaman kelas publik <E> {// hasil setel daftar pribadi <E> Daftar; // Jumlah Total Catatan Kueri Int Total Total; // berapa banyak catatan per halaman private int pageSize; // halaman mana private int pageno; /*** @return Jumlah total halaman**/int getTotalPages publik () {return (TotalRecords+PageSize-1)/halaman; } / *** Hitung Halaman Mulai Catatan Saat Ini* @param halaman Jumlah catatan per halaman* @param saat ini halaman mana yang saat ini* @Return Page saat ini Mulai Nomor catatan* / Public int countoffset (int currentpage, int pageSize) {int offset = pageSize* (currentPage-1); Return Offset; } / *** @Return beranda** / public int getTopPageno () {return 1; } / *** @return halaman sebelumnya** / public int getPreviousPageno () {if (pageno <= 1) {return 1; } return pageno-1; } / *** @return halaman berikutnya** / int publik getNextPageno () {if (pageno> = getBottompageno ()) {return getBottompageno (); } return pageno+1; } / *** @return halaman terakhir** / public int getBottompageno () {return getTotalPages (); } Daftar Publik <E> getList () {daftar kembali; } public void setList (Daftar <E> Daftar) {this.list = daftar; } public int getTotalRecords () {return TotalRecords; } public void setTotalRecords (int TotalRecords) {this.totalRecords = TotalRecords; } public int getPageSize () {return pageSize; } public void setPagesize (int pageSize) {this.pagesize = pageSize; } public int getPageno () {return pageno; } public void setPageno (int pageno) {this.pageno = pageno; }} 2. Metode Lapisan
Ide: Tentukan metode kueri pagination, atur parameter: Ketika nomor halaman dan berapa banyak catatan yang ditampilkan di setiap halaman
Kodenya adalah sebagai berikut:
/** * Pagination query* @param hql query conditions* @param offset Start recording* @param length Query several records at a time* @return Return the query record collection*/ @SuppressWarnings("unchecked") @Override public List<Course> queryForPage(int offset, int length) { // TODO Auto-generated method stub List<Course> entitylist=null; coba {kueri kueri = getSession (). createqueery ("from course"); query.setFirStresult (offset); query.setMaxResults (panjang); entitylist = query.list (); } catch (runtimeException re) {throw re; } return entitylist; } 3. Metode Lapisan Layanan
Ide:
1. Tentukan metode kueri pagination dan atur parameter: Ketika nomor halaman dan berapa banyak catatan yang ditampilkan pada setiap halaman, objek pagination (halaman) yang mengembalikan hasil kueri
2. Melalui lapisan DAO, dapatkan jumlah total catatan entitas kueri
3. Dapatkan jumlah catatan yang dimulai pada halaman saat ini
4. Melalui lapisan DAO, dapatkan set hasil kueri pagination
5. Setel ke objek halaman
Kodenya adalah sebagai berikut:
/ *** Kueri Pagination* @param saat ini Nomor halaman saat ini: Jumlah halaman yang ditampilkan sekarang* @param halaman jumlah catatan yang ditampilkan per halaman* @return bean yang menutupi informasi pagination (termasuk daftar set rekaman)*/ @suppresswarnings ("uncecked") @ @override page page queryforpage (oven-ovenpage oMen) @ @evenrenpage @ @evenrenpage @evenrenpage @expresse- @expresse- @ @ @ @ @evenren @ @ @ @ @ @even. halaman = halaman baru (); // Jumlah total catatan int allrow = coursedao.getallrowCount (); // Halaman saat ini mulai merekam int offset = page.countoffset (currentPage, pageSize); // Pagination Query Hasil Set Daftar <side> Daftar = Coursedao.QueryForpage (Offset, Pagesize); page.setpageno (currentpage); page.setPagesize (halaman); page.setTotalRecords (Allrow); page.setList (daftar); halaman kembali; } 4. Metode Lapisan Pengontrol
Desain lapisan pengontrol, saat mengoperasikan kueri, Anda hanya perlu melewati parameter nomor halaman saat ini.
Kodenya adalah sebagai berikut:
@RequestMapping (value = "/showall.do") Public String FindAllCourse (permintaan httpservletRequest, respons httpservletResponse) {coba {string pageno = request.getParameter ("pageno"); if (pageno == null) {pageno = "1"; } Halaman halaman = courseservice.queryforpage (integer.valueof (pageno), 10); request.setAttribute ("halaman", halaman); Daftar <side> course = page.getList (); request.setAttribute ("kursus", kursus); } catch (Exception e) {E.PrintStackTrace (); } return "course/course_list"; } 5. Lihat Layer JSP Display
Beberapa tombol untuk halaman halaman JSP ditampilkan sesuai dengan penilaian nomor halaman saat ini.
Kodenya adalah sebagai berikut:
<td colspan = "6" align = "center" bgcolor = "#5ba8de"> Total $ {page.totalRecords} RecordStotal $ {page.totalpages} Halaman saat ini <br> <a href = "$ {path} /course/showall.do?pagen <a href =" $ {Path} /course/showall.do?pagen = "$ {$ {Path} /course/showall.do?pagen =" $ {$ {Path} /course/showall.o? type = "Tombol" name = "fristpage" value = "home"/> </a> <c: choose> <c: when test = "$ {page.pageno! = 1}"> <a href = "$ {path} /course/showall.do?pageno = $ {page.previouspageno}" "page =" aPoAping = {$ {page.previouspageno} " /> </a> </c: kapan> <c: sebaliknya> <input type = "Tombol" disabled = "dinonaktifkan" name = "sebelumnyapage" value = "halaman sebelumnya"/> </c: sebaliknya> </c: pilih> <c: pilih> <c: when test = "$ {page.pageno! href = "$ {path} /course/showall.do?pageno = $ {page.nextpageno}"> <input type = "tombol" name = "nextpage" value = "nextpage"/> </a> </c: when> <c: sebaliknya> <input type = "tombol" DisableD = " </c: sebaliknya> </c: pilih> <a href = "$ {path} /course/showall.do?pageno = $ {page.bottompageno}"> <input type = "tombol" name = "lastpage" value = "halaman terakhir"/> </a> </td> </tr> </tr>Efek halaman:
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.