Este artículo utiliza dos métodos: (1) para calcular el número total de páginas. (2) Consulte los datos de la página especificados para lograr un efecto de paginación simple.
Idea: Primero, debe proporcionar un método de consulta de paginación en el objeto DAO. Llame a este método a la capa de control para encontrar los datos de la página especificada y muestre los datos de la página a través de EL Expresiones y JSTL en la capa de presentación.
Déjame mostrarte las representaciones primero:
Off Topic: Esta pantalla de página se implementa utilizando la idea de diseño de "Database de capa-DAO de capa de control de la capa de presentación". Si tiene alguna mejora, proponerlo y aprender y progresar juntos. Sin más preámbulos, comience a ingresar al tema. Los pasos detallados son los siguientes:
1.DAO DATABASE DE Capa
La clase JDBCutils se utiliza para abrir y cerrar una base de datos, y el código central es el siguiente:
import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedStatement; import java.sql.resultset; import java.sql.sqlexception; clase pública jdbcutils {Connection private conn = null; privado preparado pstmt = null; /*** Connect Connect Connect a la base de datos* @return*/public conexión Connect () {String user = "root"; string contraseña = "1234"; string driverClass = "com.mysql.jdbc.driver"; string jdbcurl = "jdbc: mysql: // localhost: 3306/book"; hyte Drivermanager.getConnection (jdbcurl, user, contraseña);} catch (excepción e) {// tODO Catch Generado automático blocke.printstacktrace ();} return conn;}/*** Close cierre la base de datos* @param Conn* @param pstmt* @param resu*/public void sear resultado) {if (conn! = null) {try {conn.close ();} capt (sqlexception e) {// tODO bloque de captura generado automático}} if (pstmt! = null) {try {pstmt.close ();} catch (sqlexception e) {// todo au blocke.printStackTrace ();}} if (resultado! = null) {try {result.close ();} capt (sqlexception e) {// todo generado automático blocke.printstackTrace ();}}}}Los métodos getPage () y la lista de métodos () en la clase UserDAO se utilizan para calcular el número total de páginas y consultar los datos de la página especificada respectivamente. El código central es el siguiente:
import java.sql.connection; import java.sql.preparedStatement; import java.sql.ResultSet; import java.sql.sqlexception; import java.util.arrayList; import java.util.list; import. @return*/public int getPage () {int registro = 0, t1 = 0, t2 = 0; prepareStatement pstmt = null; resultset result = null; jdbcutils jdbc = new jdbcutils (); conexión conn = jdbc.connect (); string sql = "select Count (*) de los libros"; intent {pstmt = conn.prepareStatement (sql); resultado = pstmt.exCuteQuery (); resultado.next (); registro = result.getInt (1); t1 = RecordCount%5; t2 = RecordCount/5;} Catch (Exception e) {// TODO AUTO AUTO GENERADO CABLE. Finalmente {jdbc.close (conn, pstmt, resultado);} if (t1! = 0) {t2 = t2+1;} return t2;}/*** Consulte los datos de la página especificada* @param pageno* @return*/public list <ser user> listUser (int pageno) {preparado pstmt = null; resulte de resultados = nallin = nallin <serve <user> listUser (int pageno) ArrayList <Serer> (); int PageSize = 5; int page = (Pageno-1) * 5; jdbcutils jdbc = new jdbcutils (); conexión conn = jdbc.connect (); string sql = "Seleccionar * de los libros ordenos por límite de identificación?"; Intente {pstmt = conn.peparestatement (sql); página); pstmt.setInt (2, pageSize); resultado = pstmt.exCuteQuery (); while (result.next ()) {user User = new User (); user.setId (result.getInt (1)); user.setName (result.getString (2)); user.setNumber (result.getstring (3)); list.add (usuar {// TODO Generado automático BLOCKE.PRINTSTACKTRACE ();} Finalmente {jdbc.close (conn, pstmt, resultado);} lista de retorno;}}La clase de usuario se utiliza para almacenar los datos consultados, y el código central es el siguiente:
Usuario de clase pública {private int id; private String name; private String Number; public int getId () {return id;} public void setid (int id) {this.id = id = id;} public String getName () {return name;} public void setName (name) {this.name = name = name;} public String getNumber () {return number;} void setname (name de cadena) número;}} 2. Capa de control
La clase Listuser llama al objeto UserDAO para consultar datos y asigna la página para mostrar datos. El código central es el siguiente:
import java.io.ioException; import java.io.printwriter; import java.util.arrayList; import java.util.list; import javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.httservletRequest; javax.servlet.http.httpservletResponse; import com.dao.user; import com.dao.userdao; public class Listuser extiende httpservlet {public listUser () {super ();} public void destruye () {super.destroy (); // Just puts "destroy" string in log// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {Response.SetcharacterEncoding ("UTF-8"); int pageno = 1; userdao userDao = new UserDao (); List <Serer> Lists = New ArrayList <Serer> (); String Pageno = request.getParameter ("Pagenos"); If (pageno! = = = null){pageNo=Integer.parseInt(pageno);}lists=userdao.listUser(pageNo);int recordCount=userdao.getPage();request.setAttribute("recordCount", userdao.getPage());request.setAttribute("listss", lists);request.setAttribute("pageNos", pageno); request.getRequestDispatcher ("UserList.jsp"). Forward (Solicitar, Respuesta);} public void init () lanza ServletException {// Pon su código aquí}} 3. Capa de expresión
La página de salida userList.jsp se usa para obtener resultados de consulta utilizando EL y JSTL. El código central es el siguiente:
<%@ page lenguaje = "java" import = "java.util.*" PageEncoding = "utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl prefix = "fmt"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn"%> <%string path = request.getContextPath (); string basePath = request.getScheme ()+": //"+request.getServerName ()+":"+request.getServerPort ()+path+"/";%> <! DocType html public "-// w3c // dtd html 4.01 transitional // en"> <html> <fead> <fead> <base href = "<%= base = baseT 'UserList.jsp' Página de inicio </title> <meta http-equiv = "pragma" content = "no-cache"> <meta http-equiv = "cache-confontrol" content = "no-cache"> <meta http-oquiv = "expiries" content = "0"> <meta http-equiv = "keywords" keywords "" palabras clave "" " Content = "Keyword1, Keyword2, Keyword3"> <meta http-equiv = "Descripción" Content = "Esta es mi página"> <!-<Link rel = "Stylesheet" type = "text/css" href = "styles.css">-> <type de estilo = "text/css"> th, td {width: 150px; border: border: 2px; centro;} cuerpo {text-align: center;} a {text-decoration: none;} table {border-colapse: colapso;} </style> </head> <body> <h2 align = "centro"> información de libro </h2> <table align = "centro"> <tr> <td> número de libro </td> <td> book Título </td> <td> Inventario </td> </tr> </table> <table align = "centro"> <c: foreach elementos = "$ {listss}" var = "persona"> <tr> <td> $ {persona.id} </td> <td> $ {persona.name} </td> <td> $ {persona.number.number } </td> </tr> </c: foreach> </table> <br> <c: if test = "$ {pagenos> 1}"> <a href = "listuser? pagenos = 1"> home </a> <a href = "listUser? pagenos = $ {pagenos-1}" test="${pageNos <recordCount }"><a href="ListUser?pageNos=${pageNos+1 }">Next page</a></c:if><form action="ListUser"><h4 align="center">Total ${recordCount} page <input type="text" value="${pageNos}" name="pageNos" size = "1"> Page <input type = "subt" value = "llegada"> </h4> </form> </body> </html>Lo anterior es el simple código de ejemplo de pantalla de paginación de Java Web presentada por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!