SSM_CRUD新手练习(9)显示分页数据
我们已经做好了用来显示数据的分页模板,现在只需要将我们从后台取出的数据填充好,显示出来。
我们使用<c:forEach>标签循环取出数据,所以需要先导入JSTL标签库
<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %>
好了,现在可以来填充数据啦,我们修改代码如下:
<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.util.*" %> <html> <head>
<!-- 不以/开头的相对路径,寻找资源,以当前资源的路径为标准,经常容易出问题-->
<!-- 以/开始的相对路径,寻找资源,以服务器的路径为基准(http://localhost:3306),需要加上项目名才能找到 -->
<meta http-equiv="content-Type" content="text/html; charset=UTF-8"><!-- 设定页面使用的字符集。 -->
<link href="${pageContext.request.contextPath}/static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
<script src="${pageContext.request.contextPath}/static/jquery-3.3.1.js"> </script>
<script src="${pageContext.request.contextPath}/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<title>SSM简单的增删改查</title>
</head>
<body>
<div class="container">
<!--标题 -->
<div class="row">
<div class="col-md-12">
<h2>SSM_CRUD</h2>
</div>
</div>
<!-- 按钮-->
<div class="row">
<div class="col-md-4 col-md-offset-8">
<button class="btn-primary btn-sm">新增</button>
<button class="btn-danger btn-sm">删除</button>
</div>
</div>
<!--显示表格数据 -->
<div class="row">
<div class="col-md-12">
<table class=" table table-bordered"> <tr>
<th>#</th>
<th>empId</th>
<th>gender</th>
<th>email</th>
<th>deptName</th>
<th>操作</th>
</tr> <C:forEach items="${pageInfo.list}" var="emp"> <tr>
<th>${emp.empId}</th>
<th>${emp.empName}</th>
<th>${emp.gender=="M"?"男":"女"}</th>
<th>${emp.email}</th>
<th>${emp.department.deptName}</th>>
<th>
<button class="btn-primary btn-sm"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>编辑</button>
<button class="btn-danger btn-sm "><span class="glyphicon glyphicon-trash" aria-hidden="true"></span>删除</button>
</th>
</tr> </C:forEach>
</table>
</div>
</div> <!-- 显示分页信息-->
<div class="row">
<!-- 分页文字信息-->
<div class="col-md-6">
当前第 ${pageInfo.pageNum} 页,总共 ${pageInfo.pages} 页,总共 ${pageInfo.total} 条记录
</div>
<!-- 分页条-->
<div class="col-md-6">
<nav aria-label="Page navigation">
<ul class="pagination">
<li><a href="${pageContext.request.contextPath}/emps?pn=1">首页</a></li>
<li>
<C:if test="${pageInfo.hasPreviousPage}">
<a href="${pageContext.request.contextPath}/emps?pn=${pageInfo.pageNum-1}" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</C:if> </li>
<C:forEach items="${pageInfo.navigatepageNums}" var="page_Num">
<C:if test="${page_Num==pageInfo.pageNum}">
<li class="active"><a href="#">${page_Num}</a></li>
</C:if>
<C:if test="${page_Num!=pageInfo.pageNum}">
<li><a href="${pageContext.request.contextPath}/emps?pn=${page_Num}">${page_Num}</a></li>
</C:if>
</C:forEach>
<li>
<C:if test="${pageInfo.hasNextPage}">
<a href="${pageContext.request.contextPath}/emps?pn=${pageInfo.pageNum+1}" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</C:if>
</li>
<li><a href="${pageContext.request.contextPath}/emps?pn=${pageInfo.pages}">末页</a></li>
</ul>
</nav>
</div> </div> </div>
</body>
</html>
运行项目结果如下:

需要注意的是关于分页条,和分页文字描述的代码逻辑要符合实际,比如在当前在第一页的时候,分页条的前一页不用显示,当前在最后一页的时候,下一页不用显示。


SSM_CRUD新手练习(9)显示分页数据的更多相关文章
- 完整的Jquery-easyUI显示分页数据例子
虽然说是入门的例子,但本人尽量做的详细点,以后会继续更新,部分功能 此外,为了后继easyui的学习,做了一个简单的框架:后台采用hibernate2.5+struts2开发:数据库用mysql.红色 ...
- SSM_CRUD新手练习(10)返回分页的JSON数据
我们完成了员工的分页查询,但是现在这种做法只能适应浏览器和服务器的交互模式,但在移动互联网时代,客户端不仅仅只有浏览器,还有安卓和IOS客户端.我们的解决方式是AJAX+JSON方式来实现平台无关性. ...
- SSM_CRUD新手练习(8)搭建BootStrap分页页面
经过Spring单元测试模拟请求,我们能够成功的取出数据,接下来,我们就开始写用来显示查询数据的分页页面吧. 我们使用Bootstrap来帮助我们快速开发漂亮的页面,具体怎么用可以查看Bootst ...
- Laravel 5.4---后端数据分页和前端显示分页结果
后端数据(Eloquent 模型)分页 事先建立好Eloquent 模型和Controller 还有 前台的View.可以参考我之前的文章:Laravel建站03--建立前台文章列表和文章详情 在co ...
- iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)
一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...
- SqlDataReader读取分页数据,pageCount你是肿么了?
自己在折腾代码的时候发现,SqlDataReader读取分页数据,存储过程中的输出参数总页数pageCount获取不准确. 我已经问过百度,技术群等..... 都说SqlDataReader用过后关闭 ...
- ExtJS4.2学习(六)表格分页与通过后台脚本获得分页数据
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-12/175.html --------------- ...
- 使AspNetPager控件中文显示分页信息
在日常的编程过程中,很多学员对于使AspNetPager控件中文显示分页信息不是很清楚,本文将由达内的老师为各位学员介绍一下使AspNetPager控件中文显示分页信息的内容. AspNetPager ...
- extjs_02_grid(显示本地数据,显示跨域数据)
1.显示表格 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...
随机推荐
- Python 快速排序 算法
基本的快排算法,二分法 #!/usr/bin/env python # encoding: utf-8 l1=[1,4,2,6,3] def path_sort(l,start_index,end_i ...
- 谈谈线上CPU100%排查套路
知识点总结 ---------------------------------------------------------------------------------------------- ...
- docker命令相关
进入容器 容器已经启动 docker exec -it ece7b58a2a04 /bin/sh 容器未启动 docker run -it zzzzz/edas:v1 sh 检查容器 docker i ...
- python函数-基础篇
函数 为什么要用函数?1.减少代码冗余2.增加代码可读性 函数的定义及使用 def info(): # 这里我们定义一个打印个人信息的函数 name = "xiaoming" ag ...
- String、StringBuffer、StringBuilder区别
String.StringBuffer.StringBuilder区别 StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对Str ...
- poj2115(扩展欧基里德定理)
题目链接:https://vjudge.net/problem/POJ-2115 题意:模拟for循环for(int i=A;i!=B;i+=C),且数据范围为k位无符号数以内,即0~1<< ...
- C++成员函数在内存中的存储方式
用类去定义对象时,系统会为每一个对象分配存储空间.如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间.按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分 ...
- 通过启动函数定位main()函数
如下,通过vc6.0编写一个hello world程序.尝试结合汇编代码.分析启动函数找到main函数. 在printf(xxx)插入断点,调试执行.如下,在堆栈窗口中可见main()下的一个 ...
- 【python中二叉树的实现】python中二叉树的创建、三种方式递归遍历和非递归遍历
代码如下: # coding=utf-8 class myNode(object): def __init__(self, data=-1, lchild=None, rchild=None): se ...
- Spring事务管理的配置
spring-datasource-config.xml配置事务 <bean id="txManager" class="org.springframework.j ...