分页显示数据----前端(将数据库中的信息分页显示到网页)

  在上篇文章中,我们已经完成了分页显示的后台处理,现在进行前端的处理。 

  期望显示结果:

  由于对于不同的项目、不同的数据库数据部分不同,所以我们将分页部分提取出来,单独建立jsp页面:

 1   <%@ page language="java" contentType="text/html; charset=UTF-8"
 2       pageEncoding="UTF-8"%>
 3   <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 4   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5   <html>
 6   <head>
 7   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8   <title>Insert title here</title>
 9   </head>
10   <body>
11       <div id="page_nav" align="center">
12           <a href="${page.path}?pageNo=1">首页</a>
13           <a href="${page.path}?pageNo=${page.pageNumber -1}">上一页</a>
14               <c:choose>
15                   <c:when test="${page.totalPage<=5}">
16                       <c:set var="begin" value="1"></c:set>
17                       <c:set var="end" value="${page.totalPage}"></c:set>
18                   </c:when>
19                   <c:when test="${page.pageNumber<=3}">
20                       <c:set var="begin" value="1"></c:set>
21                       <c:set var="end" value="5"></c:set>
22                   </c:when>
23   
24                   <c:otherwise>
25                       <c:set var="begin" value="${page.pageNumber-2}"></c:set>
26                       <c:set var="end" value="${page.pageNumber+2}"></c:set>
27  
28                       <c:if test="${end>page.totalPage}">
29                           <c:set var="begin" value="${page.pageNumber-4}"></c:set>
30                           <c:set var="end" value="${page.totalPage}"></c:set>
31                       </c:if>
32                   </c:otherwise>
33               </c:choose>
34   
35               <c:forEach begin="${begin}" end="${end}" var="num">
36                   <c:if test="${page.pageNumber== num}">
37                       <a href="${page.path}?pageNo=${num}">【${num}】</a>
38                   </c:if>
39                   <c:if test="${page.pageNumber!= num}">
40                       <a href="${page.path}?pageNo=${num}">${num}</a>
41                   </c:if>
42               </c:forEach>
43           <a href="${page.path}?pageNo=${page.pageNumber +1}">下一页</a>
44           <a href="${page.path}?pageNo=${page.totalPage}">末页</a>
45           共${page.totalPage}页,${page.totalRecord }条记录    到第<input value="${page.totalPage}" name = "pn" id ="pn_input"/>页
46           <input type="button" value="确定" id="btn_id"/>
47           <script type="text/javascript">
48               $("#btn_id").click(function(){
49                   var value= $("#pn_input").val();
50                   window.location="${page.path}?pageNo="+value;
51               })
52           </script>
53       </div>
54   </body>
55   </html>

    

  以上代码实现了跳转页面的功能,自动显示5个页面,并在当前页面>=3并且<=总页面数时居中显示,如下图的"【4】":  

                              

  最后在数据查询显示页面的jsp中包含paging页面即可。

                  

1     <!-- 分页信息 -->
2         <%@include file="/WEB-INF/view/paging.jsp" %>
时间: 2025-01-05 22:58:50

分页显示数据----前端(将数据库中的信息分页显示到网页)的相关文章

分页(将数据库中的信息分页显示到网页)

问题分析: 当我们想检索数据库中的信息并将其显示到网页上时,如果数据库中的信息过多时 .一方面会使数据库开销非常大,降低性能:另一方面在一张页面上显示过多数据也会降低用户体验. 解决办法: 1.由于在分页之后每一页显示的信息不再仅仅是数据空中的数据而是类似于下图: 所以我们需要创建一个page类: package com.neuedu.manage.bean; import java.util.List; public class page <T>{ private List<T>

网络采集软件核心技术剖析系列(6)---将任意博主的全部博文下载到SQLite数据库中并通过Webbrower显示(将之前的内容综合到一起)

一 本系列随笔目录及本节代码下载 开发环境:VS2008 本节源码位置:https://github.com/songboriceboy/GatherAllStoreInDB 源码下载办法:安装SVN客户端(本文最后提供下载地址),然后checkout以下的地址:https://github.com/songboriceboy/GatherAllStoreInDB 系列文章提纲拟定如下: 1.如何使用C#语言获取博客园某个博主的全部随笔链接及标题:2.如何使用C#语言获得博文的内容:3.使用C#

调用save()方法,页面显示保存成功,但是数据库中没有值的原因

在DAO层调用save()方法,页面上显示成功,但是在数据库中查找时发现数据没有保存到数据库中的原因可能是: 1.Service层中是否在调用DAO层中的save()方法之前添加注解@Transactional,凡是对数据库的更新操作都要加上该句注解. 2.查看项目中的WEB-INF文件夹下面的application.xml文件,看看<tx:annotation-driven transaction-manager="transactionManager"/>标签中是否缺少

将Excel上千条数据写入到数据库中

简要说明:因工作需要,需要一张Excel表格中的所有数据导入到数据库中.如下表,当然这只是一部分,一共一千多条. 前期处理: 首先要保证上图中的Excel表格中的数据不能为空,如果有为空的数据,可以稍微进行处理,比如将所有为空的数据替换成加一个空格.(我的这个解析器只能解析Microsoft Excel 97-2003 工作表 (.xls)这个格式的表格,如果不是这个形式的需要进行转化.) 然后就是找一个添加页面,添加一个上传附件的功能,即添加一个type类型为file的input标签.比如 <

将csv和txt 数据导入到数据库中

将文本数据导入到数据库中,最简单的选择是:Excel使用OpenSet,csv和txt 使用bulk insert来实现 1,使用OpenRowSet将Excel导入到数据库中 参考<OpenRowSet 用法> 2,使用bulk insert 将txt数据导入到数据库中,文本数据使用Tab分割Column,使用换行符分割row. --create staging table create table dbo.txt_staging ( col1 nvarchar(255), col2 nva

SQL从其他服务器数据库导入数据到本地数据库中

EXEC sp_dropserver 'ITSV2', 'droplogins' exec sp_addlinkedserver 'ITSV2' , '' , 'SQLOLEDB' , '168.9.123.123' exec sp_addlinkedsrvlogin 'ITSV2' , 'false' , null , 'sa' , 'sa' drop table test2; select top 12 * into test2 from ITSV2.InfoDB.dbo.city sele

把excel中的数据导入到数据库中的通用方法

方法/步骤 对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事.那我们只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可.   我们对下面数据进行组合,这用到excel中的一个功能. 在excel中有个fx的输入框,在这里把组好的字符串填上去就好了. 注:字符串1 & A2 &字符串2 & ... A2可以直接输入,也可以用鼠标点对应的单元格.   每个字符串之间用 & 符号进行连接.下面

Java版将EXCEL表数据导入到数据库中

1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls")); //获取该工作表中的第一个工作表 Sheet sheet=workBook.getSheet(0); //获取该工作表的行数,以供下面循环使用 int rowSize=sheet.getRows(); for(int i=0;i<rowSize;i++) { //编号 String

使用SqlBulkCopy将DataTable中的数据批量插入数据库中

#region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致. /// </summary> /// <param name="conStr">数据库连接串</param> /// <param name="strTableName">数据库中对应的表名</param> //