分页管理的JSTL实现

userMgr.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7
 8 <!DOCTYPE HTML>
 9 <html>
10   <head>
11     <base href="<%=basePath%>">
12     <title>用户管理</title>
13     <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
14     <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
15     <script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
16     <meta http-equiv="pragma" content="no-cache">
17     <meta http-equiv="cache-control" content="no-cache">
18     <meta http-equiv="expires" content="0">
19   </head>
20
21   <body>
22     <div align="center">
23         <h1>用户管理</h1>
24         <input type="button" onclick="javascript:window.location=‘queryServlet.action?option=getUsers‘" value="显示所有用户" /></br></br>
25         <table class="table table-striped table-bordered table-hover table-condensed">
26             <tr><th>行序号</th><th>用户编号</th><th>用户名称</th><th>用户邮箱</th><th>用户性别</th><th>注册时间</th><th>登录时间</th><th>操作</th></tr>
27             <c:forEach items="${page.dataList}" var="each" varStatus="status">
28                 <tr>
29                     <td>${status.count}</td>
30                     <td>${each.userId}</td>
31                     <td>${each.username}</td>
32                     <td>${each.email}</td>
33                     <td>${each.gender}</td>
34                     <td>${each.registerTime}</td>
35                     <td>${each.lastLoginTime}</td>
36                     <td><a href="javascript:void(0)">重置密码</a href="javascript:void(0)">&nbsp;<a>删除用户</a></td>
37                 </tr>
38             </c:forEach>
39         </table>
40         <div class="pager">
41         <ul>
42         <c:if test="${page.hasPrePage}">
43             <li><a href="queryServlet.action?option=getUsers&currentPageNum=1&pageItemsCount=${page.pageItemsCount}">首页</a></li>
44             <li><a href="queryServlet.action?option=getUsers&currentPageNum=${page.prePageNum}&pageItemsCount=${page.pageItemsCount}">上一页</a></li>
45         </c:if>
46         <c:forEach begin="1" end="${page.pageCount}" var="each">
47             <c:choose>
48                 <c:when test="${each == page.currentPageNum}">
49                     <li class="active"><a style="color:black;">${each}</a></li>
50                 </c:when>
51                 <c:when test="${each >= (page.currentPageNum - 2) && each <= (page.currentPageNum + 2)}">
52                     <li><a href="queryServlet.action?option=getUsers&currentPageNum=${each}&pageItemsCount=${page.pageItemsCount}">${each}</a></li>
53                 </c:when>
54             </c:choose>
55         </c:forEach>
56         <c:if test="${page.hasNextPage}">
57             <li><a href="queryServlet.action?option=getUsers&currentPageNum=${page.nextPageNum}&pageItemsCount=${page.pageItemsCount}">下一页</a></li>
58             <li><a href="queryServlet.action?option=getUsers&currentPageNum=1&pageItemsCount=${page.pageItemsCount}">尾页</a></li>
59         </c:if>
60         </ul>
61         </div>
62     </div>
63   </body>
64 </html>

时间: 2024-10-09 00:11:34

分页管理的JSTL实现的相关文章

分页管理(编辑中)

分页管理的目标 前面博文中,通过自行构造HTML表格代码,可以生成易于管理.易于扩展的数据列表.但在实际应用中,数据量动则成百上千,单一页面根本无法完全显示所有数据.把所有数据进行分页后逐页显示,是当前比较流行的数据展示方式.因此,我们需要研究和表格方式展示数据相适应的分页管理机制. 分页显示的核心,是根据页面记录数.页号.查询条件.排序顺序等因素,在数据库中查出该页相对应的数据集(DataTable).按页返回数据集的功能,已经作为一个基本的功能被封装到AccessDB中了,通过AccessD

分段管理和分页管理的区别

分页和分段系统有许多相似之处. 比如,两者都采用离散分配方式,且都要通过地址映射机构来实现地址变换. 但在概念上两者完全不同,主要表现在下述三个方面. 1. 页是信息的物理单位,用户透明,长度固定. 分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率. 可以说分页仅仅是由于系统管理的需要而不是用户的需要. 段是信息的逻辑单位,用户可见,长度可变.它含有一组其意义相对完整的信息. 分段的目的是为了能更好地满足用户的需要. 2. 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两

内存管理-基本分页管理方式

在存储器管理中,连续分配方式会形成许多"碎片",虽然可通过"紧凑"方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销.如果允许将一个进程直接分散地装入到许多不相邻的分区中,则无须再进行"紧凑".基于这一思想而产生了离散分配方式.如果离散分配的基本单位是页,则称为分页存储管理方式.在分页存储管理方式中,如果不具备页面对换功能,则称为基本分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存后

sqlserver 存储过程分页管理

-- =============================================-- Author:  <Author:刘畅>-- Create date: <Create Date:2014-07-31>-- Description: <Description:sqlserver 2008 R2 数据库分页存储过程> -- =============================================CREATE PROCEDURE pr_

《80X86汇编语言程序设计教程》二十三 分页管理机制实例

1.  理论知识参考"<80X86汇编语言程序设计教程>二十二 分页管理机制与虚拟8086模式".演示分页机制实例:初始化页目录表和部分页表:启用分页管理机制:关闭分页管理机制等.逻辑功能:在屏幕上显示一条表示已启用分页管理机制的提示信息.大体步骤是:在实模式下拷贝显示串程序的代码到预定义区域,转保护模式,初始化页目录和2个页表,开启分页机制,转入预定义区执行显示代码,然后关闭分页机制,重新回到实模式,程序终止. 2.  源代码 "386scd.asm"

Linux 的内存分页管理

架构师必读:Linux 的内存分页管理 来源:Linux爱好者 ID:LinuxHub 内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在其中保存数据.我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存和内存分页的概念. 内存 简单地说,内存就是一个数据货架.内存有一个最小的存储单位,大多数都是一个字节.内存用内存地址(memory address)来为每个字节的数据顺序编号.因此,内存地址说明了数据在内存中的位置.内存地址从0开始,每次增加1.这种线性增加的存储器地址称

[转帖]运维必读:Linux 的内存分页管理

运维必读:Linux 的内存分页管理 https://cloud.tencent.com/developer/article/1356431 内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在其中保存数据.我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存和内存分页的概念. ▉内存 简单地说,内存就是一个数据货架.内存有一个最小的存储单位,大多数都是一个字节.内存用内存地址(memory address)来为每个字节的数据顺序编号.因此,内存地址说明了数据在内存中的位置.

分页探究--Filter+JSTL

最近卡了一个功能就是分页,查了很多资料,分页大概是两种类型:一种是把数据库的东西全部查出来然后放在session里,用list一页一页传到页面,这样的消耗比较大;另一种就是使用sql语句的limit来进行数据库分页查询.我使用的是后者. 大致逻辑: (1)需要currentPage,count属性.   (2)需要注意current不能点击. (3)全使用a标签进行页面跳转.并附上请求页码.  (4)初始化查询0页,并用filter装入list中,在页面显示的时候方便遍历. (5)过程:页面加载

Linux的内存分页管理【转】

内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在其中保存数据.我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存和内存分页的概念. 内存 简单地说,内存就是一个数据货架.内存有一个最小的存储单位,大多数都是一个字节.内存用内存地址(memory address)来为每个字节的数据顺序编号.因此,内存地址说明了数据在内存中的位置.内存地址从0开始,每次增加1.这种线性增加的存储器地址称为线性地址(linear address).为了方便,我们用十六进制数来表示内存地址,比