Heim 类库下载 java类库 Beispielcode für die einfache Java-Web-Paging-Anzeige

Beispielcode für die einfache Java-Web-Paging-Anzeige

Nov 01, 2016 am 11:42 AM
java

In diesem Artikel werden hauptsächlich die relevanten Informationen zum Beispielcode für die einfache Paging-Anzeige in Java vorgestellt. Der Paging-Effekt wird durch die Berechnung der Gesamtzahl der Seiten und die Abfrage der angegebenen Seitendaten erreicht benötigte Freunde können sich auf

beziehen. Dieser Artikel verwendet zwei Methoden: (1) Berechnen Sie die Gesamtzahl der Seiten. (2) Fragen Sie die angegebenen Seitendaten ab, um einen einfachen Paging-Effekt zu erzielen.

Idee: Zunächst müssen Sie eine Paging-Abfragemethode im DAO-Objekt bereitstellen, um die Daten der angegebenen Seite auf der Präsentationsebene zu finden Verwenden Sie EL-Ausdrücke und JSTL, um die Daten abzufragen. Die Seitendaten werden angezeigt.

Lassen Sie mich Ihnen zuerst die Renderings zeigen:

Off-Topic: Diese Seite wird angezeigt Es wird unter Verwendung der Designidee „Präsentationsschicht-Kontrollschicht-DAO-Schicht-Datenbank“ implementiert. Wenn es einen Bereich gibt, der verbessert werden muss, werden alle ihn vorbringen und gemeinsam lernen und Fortschritte machen. Kommen wir ohne weiteres zum Thema:

1. DAO-Schicht – Datenbank

JDBCUtils Die Klasse wird zum Öffnen und Schließen der Datenbank verwendet. Der Kerncode lautet wie folgt:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCUtils {
private Connection conn=null;
private PreparedStatement pstmt=null; 
/**
* connect 连接数据库
* @return
*/
public Connection connect(){
String user="root";
String password="1234";
String driverClass = "com.mysql.jdbc.Driver";
String jdbcUrl = "jdbc:mysql://localhost:3306/book";
try {
Class.forName(driverClass);
conn = DriverManager.getConnection(jdbcUrl, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* close 关闭数据库
* @param conn
* @param pstmt
* @param resu
*/
public void close(Connection conn,PreparedStatement pstmt,ResultSet result){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
}
if(pstmt != null){
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(result != null){
try {
result.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Nach dem Login kopieren

Die Methode getPage() und die Methode listUser( ) in der UserDao-Klasse werden jeweils zur Berechnung der Gesamtzahl der Seiten und der Daten der angegebenen Seite verwendet. Der Kerncode lautet wie folgt:

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 com.db.JDBCUtils;
public class UserDao {
/**
* 计算总的页数
* @return
*/
public int getPage(){
int recordCount=0,t1=0,t2=0;
PreparedStatement pstmt=null;
ResultSet result=null;
JDBCUtils jdbc=new JDBCUtils();
Connection conn=jdbc.connect();
String sql="select count(*) from books";
try {
pstmt=conn.prepareStatement(sql);
result=pstmt.executeQuery();
result.next();
recordCount=result.getInt(1);
t1=recordCount%5;
t2=recordCount/5;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
jdbc.close(conn, pstmt, result);
}
if(t1 != 0){
t2=t2+1;
}
return t2;
}
/**
* 查询指定页的数据
* @param pageNo
* @return
*/
public List<User> listUser(int pageNo){
PreparedStatement pstmt=null;
ResultSet result=null;
List<User> list=new ArrayList<User>();
int pageSize=5;
int page=(pageNo-1)*5;
JDBCUtils jdbc=new JDBCUtils();
Connection conn=jdbc.connect();
String sql="select * from books order by id limit ?,?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, page);
pstmt.setInt(2, pageSize);
result=pstmt.executeQuery();
while(result.next()){
User user=new User();
user.setId(result.getInt(1));
user.setName(result.getString(2));
user.setNumber(result.getString(3));
list.add(user);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
jdbc.close(conn, pstmt, result);
}
return list;
}
}
Nach dem Login kopieren

Die User-Klasse wird zum Speichern der abgefragten Daten verwendet. Der Kerncode lautet wie folgt:

public class User {
private int id;
private String name;
private String number;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
Nach dem Login kopieren

2. Kontrollschicht

Die ListUser-Klasse ruft intern UserDao auf. Das Objekt fragt die Daten ab und weist der Seite die Anzeige der Daten zu. Der Kerncode lautet wie folgt:

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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.User;
import com.dao.UserDao;
public class ListUser extends HttpServlet {
public ListUser() {
super();
}
public void destroy() {
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<User> lists=new ArrayList<User>();
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(request, response);
}
public void init() throws ServletException {
// Put your code here
}
}
Nach dem Login kopieren

3. Präsentationsebene

Die Ausgabeseite userlist.jsp verwendet EL und JSTL, um Ausgabeabfrageergebnisse. Der Kerncode lautet wie folgt:

<%@ page language="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/fmt" 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>
<head>
<base href="<%=basePath%>">
<title>My JSP 'userlist.jsp' starting page</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="styles.css">
-->
<style type="text/css">
th,td{width: 150px;border: 2px solid gray;text-align: center;}
body{text-align: center;}
a{text-decoration: none;}
table {border-collapse: collapse;}
</style>
</head>
<body>
<h2 align="center">图书信息</h2>
<table align="center">
<tr><td>书号</td><td>书名</td><td>库存量</td></tr>
</table>
<table align="center">
<c:forEach items="${listss}" var="person">
<tr>
<td class="hidden-480">${person.id}</td>
<td class="hidden-480">${person.name }</td>
<td class="hidden-480">${person.number }</td>
</tr>
</c:forEach>
</table>
<br>
<c:if test="${pageNos>1 }">
<a href="ListUser?pageNos=1" >首页</a>
<a href="ListUser?pageNos=${pageNos-1 }">上一页</a>
</c:if>
<c:if test="${pageNos <recordCount }">
<a href="ListUser?pageNos=${pageNos+1 }">下一页</a>
<a href="ListUser?pageNos=${recordCount }">末页</a>
</c:if>
<form action="ListUser">
<h4 align="center">共${recordCount}页 &nbsp
<input type="text" value="${pageNos}" name="pageNos" size="1">页
<input type="submit" value="到达">
</h4>
</form>
</body>
</html>
Nach dem Login kopieren

Das Folgende ist ein einfacher Beispielcode für die Java-Web-Paging-Anzeige, der vom Editor eingeführt wurde. Ich hoffe, dass es Ihnen hilfreich sein wird, wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Quadratwurzel in Java

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Perfekte Zahl in Java

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Zufallszahlengenerator in Java

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Armstrong-Zahl in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Smith-Nummer in Java

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

Fragen zum Java Spring-Interview

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Brechen oder aus Java 8 Stream foreach zurückkehren?

See all articles