Implementasi paging sederhana Javaweb:
Kali ini, kami terutama menjelaskan halaman data yang diperoleh setelah masuk. Pertama, kami membuat halaman login baru login.jsp. Karena kami terutama belajar paging, bagian verifikasi login tidak akan dijelaskan. Kode utamanya adalah sebagai berikut:
<Form Action = "PageServlet"> Nama pengguna: <input type = "text" name = "username"> <br> kata sandi: <input type = "text" name = "password"> <br> <input type = "kirim" value = "kirim"> </form>
Pertama, buat user.java kelas entitas dan tambahkan metode get and atur:
Pengguna kelas publik {Private String username; kata sandi string pribadi; string publik getUserName () {return username; } public void setusername (string username) {this.username = username; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; }}Kita dapat melihat bahwa formulir formulir diserahkan ke PageServlet, jadi kami membuat PageServlet baru dan mendapatkan data di servlet, dan membuat beberapa persiapan pagination. Makna spesifik dapat dipahami dengan merujuk pada komentar. Kode PageServlet:
Public Class PageServlet memperluas httpservlet {public void doGet (permintaan httpservletRequest, respons httpservletResponse) melempar servletException, ioException {daftar <user> daftar = new ArrayList <User> (); // Di sini saya tidak lagi terhubung ke database tetapi menggunakan data virtual untuk menguji efeknya. Teman dapat terhubung ke database dan menanyakannya dan mengembalikan daftar untuk (int i = 1; i <7; i ++) {pengguna pengguna1 = pengguna baru (); user1.setusername ("th" + i + "nama pengguna"); user1.setpassword ("th" + i + "password"); list.add (user1); } Httpsession session = request.getSession (); // Simpan data dalam sesi untuk memfasilitasi akuisisi session.setAttribute ("UserList", daftar); // Dapatkan jumlah halaman dari halaman saat ini dan konversinya menjadi tipe int, dan akhirnya simpan data di sesi int pagenos; if (request.getParameter ("pagenos") == null || integer.parseint (request.getParameter ("pagenos")) <1) {pagenos = 1; } else {pagenos = integer.parseint (request.getParameter ("pagenos")); } session.setAttribute ("Pagenos", Pagenos); // Tentukan jumlah total halaman dan simpan di sesi int countpage = 3; // Dalam pengembangan aktual, jumlah total halaman kami dapat diperoleh dari jumlah total halaman berdasarkan pernyataan SQL, dan kemudian membagi jumlah potongan per halaman untuk mendapatkan jumlah total halaman. request.getRequestDispatcher ("index.jsp"). Forward (Request, Response); } public void dopost (permintaan httpservletRequest, respons httpservletResponse) melempar servletException, ioException {}}Dalam kode di atas, kami pada akhirnya akan meneruskan ke halaman index.jsp. Pada saat ini, semua data kami akan ditampilkan di Index.jsp dan diperoleh dengan menggunakan JSTL dan EL Expressions. Kode utama index.jsp adalah sebagai berikut:
<body> <c: foreach items = "$ {UserList}" var = "user" begin = "$ {(pagenos-1)*2}" end = "$ {pagenos*2-1}"> <senter> <div> $ {user.username} </div> </center> <usen> <penter> <dver> $ {center> </center> </div </center> <usen> <us Center> <dver> $ {center> </center> </div </center> <usen> <center> <dver> $ {center> </center> </div </center> <Center> <Center> <dver> $ {center> <c: if test = "$ {pagenos> 1}"> <a href = "pageservlet? pagenos = 1"> home </a> <a href = "pageservlet? pagenos = $ {pagenos-1}"> halaman sebelumnya </a> </c: if> <c: {pagenos-1} "> halaman sebelumnya </a> </c: if> <c: {ife =" $ "$ {a count" </a> </c: if> <c: {ife = "$" href = "pageservlet? pagenos = $ {pagenos+1}"> halaman berikutnya </a> <a href = "pageservlet? pagenos = $ {countpage}"> halaman terakhir </a> </c: if> </center> <bentuk acti value = "$ {pagenos}" name = "pagenos" size = "1"> halaman <input type = "kirim" value = "go"> </h4> </form> </body>Di baris kedua, kami menggunakan <c: foreach> untuk mendapatkan konten di session.setAttribute ();. Perhatikan bahwa di sini, saya default untuk dua potong data per halaman, jadi itu (Pagenos-1)*2. Jika N potongan data per halaman, Anda perlu mengubah 2 ke N. Tentu saja, n juga dapat diperoleh dari servlet latar belakang.
Pada saat yang sama, karena kami menggunakan ekspresi JSTL di index.jsp, ingatlah untuk mengimpor referensi:
<%@taglib awalan = "c" uri = "http://java.sun.com/jsp/jstl/core"%>
Pada titik ini, kami telah menyelesaikan pagination sederhana, pergi dan mencobanya.
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!