在JSP中实现分页显示(假分页)

该博客展示了如何在JSP中实现简单的分页显示功能,以MySQL数据库为背景,创建了一个名为person的表,每页展示15条记录。通过用户输入的页码,动态查询并显示数据。页面还提供了跳转到指定页的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用MySQL数据库,用户名root,密码为空,新建数据库名为lin_0917,新建表名为person,表中字段为:ID,NAME,PASSWORD。
示例为每页显示15条记录
JSP代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<html>
<head>

<title>My JSP 'Jdbc2.jsp' starting page</title>

</head>

<body>
<center>
<h1>
人员列表
</h1>
<hr />
<br />
<%!final String jspurl = "Jdbc2.jsp";%>
<%
int linesize = 15;
int currentpage = 1;
int alldata = 100;
int pagesize = 0;
pagesize = (alldata + linesize - 1) / linesize;
%>
总页数为
<%=pagesize%>页
<%
try {

currentpage = Integer.parseInt(request.getParameter("cp"));
} catch (Exception e) {
}
%>
<%
String driverName = "com.mysql.jdbc.Driver";
String userName = "root";
String userPasswd = "";
String dbName = "lin_0917";
String tableName = "person";
String url = "jdbc:mysql://localhost/" + dbName + "?user="
+ userName + "&password=" + userPasswd;
%>
<%
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection connection = DriverManager.getConnection(url);

Statement statement = connection.createStatement();

String sql2 = "select count(ID) from person";

ResultSet rs2 = statement.executeQuery(sql2);

if (rs2.next()) {
alldata = rs2.getInt(1);
}
rs2.close();
String sql = "select ID,NAME,PASSWORD from person";
ResultSet rs = statement.executeQuery(sql);
ResultSetMetaData rmeta = rs.getMetaData();
%>
数据库中记录总数为:<%=alldata%>
当前页:
<%=currentpage%>/<%=pagesize%>
<script type="text/javascript">
function openpage(curpage)
{
document.form1.cp.value = curpage;
document.form1.submit();
}
function jumpto(){
document.form1.cp.value = document.form1.jump.value;
document.form1.submit();
}
</script>
<form action="<%=jspurl%>" name="form1">
<input type="button" value="上一页"
onclick="openpage(<%=currentpage - 1%>)"
<%=currentpage == 1 ? "disabled" : ""%>>
<input type="button" value="首页 " onclick="openpage(1)"
<%=currentpage == 1 ? "disabled" : ""%>>
<input type="button" value="尾页" onclick="openpage(<%=pagesize%>)"
<%=currentpage == pagesize ? "disabled" : ""%>>
<input type="button" value="下一页"
onclick="openpage(<%=currentpage + 1%>)"
<%=currentpage == pagesize ? "disabled" : ""%>>
<input type="hidden" name="cp" value="">
跳到第
<select name="jump" onchange="jumpto()">
<%
for (int i = 1; i <= pagesize; i++) {
%>
<option value="<%=i%>" <%=currentpage == i ? "selected" : ""%>><%=i%></option>
<%
}
%>

</select>
</form>

<table border="1" width="80%">

<tr>

<td>
编号
</td>
<td>
登录名称
</td>
<td>
密码
</td>
<td colspan="2">
操作
</td>

</tr>

<%
int i = 0;
for (int x = 0; x < (currentpage - 1) * linesize; x++) {
rs.next();
}
for (int x = 0; x < linesize; x++) {

if (rs.next()) {
i++;
int id = rs.getInt(1);
String name = rs.getString(2);
String password = rs.getString(3);
%>
<tr>

<td>
<%=id%>
</td>
<td>
<%=name%>
</td>
<td>
<%=password%>
</td>
<td>
更新
</td>
<td>
删除
</td>
</tr>
<%
}
}
rs.close();

statement.close();

connection.close();
if (i == 0) {
%>
<tr>

<td colspan="5">
数据库中没有数据
</td>

</tr>
<%
}
%>

</table>

<%
} catch (Exception e) {
%>
<h2>
系统出错!!!
</h2>
<%
}
%>
</center>
</body>
</html>

效果:
效果:在JSP中实现分页显示(假分页) - 林芬亮 - 断鸿零雁的博客
  在JSP中实现分页显示(假分页) - 林芬亮 - 断鸿零雁的博客
 
效果:
 在JSP中实现分页显示(假分页) - 林芬亮 - 断鸿零雁的博客
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值