<%--
Created by IntelliJ IDEA.
User: jie
Date: 2019/5/10
Time: 20:00
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
<head>
<!-- 指定字符集 -->
<meta charset="utf-8">
<!-- 使用Edge最新的浏览器的渲染方式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
width: 默认宽度与设备的宽度相同
initial-scale: 初始的缩放比,为1:1 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>用户信息管理系统</title> <!-- 1. 导入CSS的全局样式 -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- 2. jQuery导入,建议使用1.9以上的版本 -->
<script src="js/jquery-2.1.0.min.js"></script>
<!-- 3. 导入bootstrap的js文件 -->
<script src="js/bootstrap.min.js"></script>
<style type="text/css">
td, th {
text-align: center;
}
.mb-10{
margin-bottom: 10px;
}
.float-right{
float: right;
}
.float-left{
float: left;
}
.tool::after{
content: '';
display: block;
clear: both;
}
.table>tbody>tr>td{
vertical-align: middle;
}
.total-page{
margin-top: 5px;
display: inline-block;
margin-left: 15px;
font-size: 16px;
}
.pageSize{
display: inline-block;
width: auto;
margin: 0px 10px;
}
.jumpPage{
display: inline-block;
width: 50px;
}
</style>
<script> window.onload = function () {
/*
全选和全部选功能实现
1为firstCb绑定单击事件
3获取所有的复选框,将其状态设置为和firstCb一致
*/
var firstCb = document.getElementById("firstCb");
// console.log(firstCb.checked);
firstCb.onclick = function () {
// firstCb.checked = !firstCb.checked;
var ids = document.getElementsByName("id");
for (var i = 0; i < ids.length; i++) {
ids[i].checked = firstCb.checked;
}
} /*
设置页的大小
*/
document.getElementById("pageSizeSelect").onchange = function(){
//手动提交查询条件表单
document.getElementById("searchForm").submit();
};
/*
页大小控制的回显
*/
var pageSizeOptions = document.getElementById("pageSizeSelect").options;
for (var i = 0; i < pageSizeOptions.length; i++) {
if(pageSizeOptions[i].value == "${userPage.pageSize}"){
pageSizeOptions[i].selected = true;
}
}
/*
页面跳转
*/
document.getElementById("jumpPage").onkeydown = function (ev) {
if(ev.keyCode == 13){
//按下回车,将currentPage元素的值设置为输入框的值
// var currentPage = document.getElementById("jumpPage").value;
// var currentPageEle = document.getElementById("currentPage");
// currentPageEle.value = currentPage;
var currentPageValue = document.getElementById("jumpPage").value;
//验证输入页码是否是数字
if(currentPageValue.match(/^\d+$/)){
//是数字,提交表单
document.getElementById("currentPage").value = currentPageValue;
//提交表单
document.getElementById("searchForm").submit();
}else{
//不是数字,清空输入内容
document.getElementById("jumpPage").value = "";
}
}
}
}
function deleteUser(id) {
if(confirm("确定要删除改用户吗?")){
location.href = "/deleteServlet?id=" + id;
}
}
function submitDelSelected(){
//判断是否选择了删除项
var hasSelected = false;
var ids = document.getElementsByName("id");
for (var i = 0; i < ids.length; i++) {
if(ids[i].checked == true){
hasSelected = true;
break;
}
}
if(hasSelected){
//需要用户确认
if(confirm("确定要删除这些用户吗?")){
document.getElementById("delSelectedForm").submit();
}
}else{
//给出还没有选择的提示
confirm("请先选择需要删除的用户");
}
}
</script>
</head>
<body>
<div class="container"> <h3 style="text-align: center">用户信息列表</h3> <%--<div class="btn-group" role="group" aria-label="...">--%>
<%--<button type="button" class="btn btn-default">Left</button>--%>
<%--<button type="button" class="btn btn-default">Middle</button>--%>
<%--<button type="button" class="btn btn-default">Right</button>--%>
<%--</div>--%>
<div class="tool mb-10">
<form id="searchForm" action="${pageContext.request.contextPath}/findUserByPageServlet" method="post" class="form-inline float-left">
<input type="hidden" id="currentPage" name="currentPage" value="${userPage.currentPage}">
<div class="form-group">
<label for="name">姓名</label>
<input type="text" value="${searchCondition.name[0]}" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="address">籍贯</label>
<input type="text" class="form-control" value="${searchCondition.address[0]}" id="address" name="address">
</div>
<div class="form-group">
<label for="email">邮箱</label>
<input type="email" class="form-control" value="${searchCondition.email[0]}" id="email" name="email">
</div>
<button type="submit" class="btn btn-default">查询</button>
</form>
<div class="right-tool float-right">
<a class="btn btn-primary" href="add.jsp" role="button">添加联系人</a>
<a class="btn btn-primary" href="javascript: submitDelSelected();" role="button">删除选中</a>
<form action="${pageContext.request.contextPath}/delSelectedServlet" method="post" id="delSelectedForm"></form>
<%--<button type="button" class="btn btn-primary">添加联系人</button>--%>
<%--<button type="button" class="btn btn-primary">删除选中</button>--%>
</div>
</div>
<table border="1" class="table table-bordered table-hover">
<tr class="success">
<th><input type="checkbox" id="firstCb"></th>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>籍贯</th>
<th>QQ</th>
<th>邮箱</th>
<th>操作</th>
</tr>
<c:forEach items="${userPage.pageData}" var="user" varStatus="vs">
<tr>
<td><input form="delSelectedForm" type="checkbox" name="id" value="${user.id}"></td>
<td>${vs.count}</td>
<td>${user.name}</td>
<td>${user.gender}</td>
<td>${user.age}</td>
<td>${user.address}</td>
<td>${user.qq}</td>
<td>${user.email}</td>
<td><a class="btn btn-default btn-sm" href="/findUserServlet?id=${user.id}">修改</a>&nbsp;<a class="btn btn-default btn-sm" href="javascript: deleteUser(${user.id});">删除</a></td>
</tr>
</c:forEach>
</table> <nav>
<ul class="pagination">
<c:if test="${userPage.currentPage == 1}">
<li class="disabled">
</c:if>
<c:if test="${userPage.currentPage != 1}">
<li>
</c:if>
<a href="${pageContext.request.contextPath}/findUserByPageServlet?currentPage=${userPage.currentPage - 1}&pageSize=${userPage.pageSize}&name=${searchCondition.name[0]}&address=${searchCondition.address[0]}&email=${searchCondition.email[0]}" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
<c:forEach begin="1" end="${userPage.totalPage}" var="i">
<c:if test="${userPage.currentPage == i}">
<li class="active">
</c:if>
<c:if test="${userPage.currentPage != i}">
<li>
</c:if>
<a href="${pageContext.request.contextPath}/findUserByPageServlet?currentPage=${i}&pageSize=${userPage.pageSize}&name=${searchCondition.name[0]}&address=${searchCondition.address[0]}&email=${searchCondition.email[0]}">${i}</a></li>
</c:forEach>
<c:if test="${userPage.currentPage == userPage.totalPage}">
<li class="disabled">
</c:if>
<c:if test="${userPage.currentPage != userPage.totalPage}">
<li>
</c:if>
<a href="${pageContext.request.contextPath}/findUserByPageServlet?currentPage=${userPage.currentPage + 1}&pageSize=${userPage.pageSize}&name=${searchCondition.name[0]}&address=${searchCondition.address[0]}&email=${searchCondition.email[0]}" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
</a>
</li> <span class="total-page">共${userPage.totalCount}条记录,共${userPage.totalPage}页</span>
<select form="searchForm" id="pageSizeSelect" name="pageSize" class="pageSize form-control">
<option value="3">3</option>
<option value="5">5</option>
<option value="8">8</option>
<option value="10">10</option>
<option value="15">15</option>
</select>
</ul>
跳转到 <input id="jumpPage" class="form-control jumpPage" type="text">
</nav>
</div>
</body>
</html>

超连接方式 传递查询条件和分页参数

 <%--
Created by IntelliJ IDEA.
User: jie
Date: 2019/5/10
Time: 20:00
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
<head>
<!-- 指定字符集 -->
<meta charset="utf-8">
<!-- 使用Edge最新的浏览器的渲染方式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
width: 默认宽度与设备的宽度相同
initial-scale: 初始的缩放比,为1:1 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>用户信息管理系统</title> <!-- 1. 导入CSS的全局样式 -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- 2. jQuery导入,建议使用1.9以上的版本 -->
<script src="js/jquery-2.1.0.min.js"></script>
<!-- 3. 导入bootstrap的js文件 -->
<script src="js/bootstrap.min.js"></script>
<style type="text/css">
td, th {
text-align: center;
}
.mb-10{
margin-bottom: 10px;
}
.float-right{
float: right;
}
.float-left{
float: left;
}
.tool::after{
content: '';
display: block;
clear: both;
}
.table>tbody>tr>td{
vertical-align: middle;
}
.total-page{
margin-top: 5px;
display: inline-block;
margin-left: 15px;
font-size: 16px;
}
.pageSize{
display: inline-block;
width: auto;
margin: 0px 10px;
}
.jumpPage{
display: inline-block;
width: 50px;
}
</style>
<script> window.onload = function () {
/*
全选和全部选功能实现
1为firstCb绑定单击事件
3获取所有的复选框,将其状态设置为和firstCb一致
*/
var firstCb = document.getElementById("firstCb");
// console.log(firstCb.checked);
firstCb.onclick = function () {
// firstCb.checked = !firstCb.checked;
var ids = document.getElementsByName("id");
for (var i = 0; i < ids.length; i++) {
ids[i].checked = firstCb.checked;
}
} /*
设置页的大小
*/
document.getElementById("pageSizeSelect").onchange = function(){
//手动提交查询条件表单
document.getElementById("searchForm").submit();
};
/*
页大小控制的回显
*/
var pageSizeOptions = document.getElementById("pageSizeSelect").options;
for (var i = 0; i < pageSizeOptions.length; i++) {
if(pageSizeOptions[i].value == "${userPage.pageSize}"){
pageSizeOptions[i].selected = true;
}
}
/*
页面跳转
*/
document.getElementById("jumpPage").onkeydown = function (ev) {
if(ev.keyCode == 13){
//按下回车,将currentPage元素的值设置为输入框的值
// var currentPage = document.getElementById("jumpPage").value;
// var currentPageEle = document.getElementById("currentPage");
// currentPageEle.value = currentPage;
var currentPageValue = document.getElementById("jumpPage").value;
//验证输入页码是否是数字
if(currentPageValue.match(/^\d+$/)){
//是数字,提交表单
document.getElementById("currentPage").value = currentPageValue;
//提交表单
document.getElementById("searchForm").submit();
}else{
//不是数字,清空输入内容
document.getElementById("jumpPage").value = "";
}
}
}
}
function pageLink(yema){
var currentPage = document.getElementById("currentPage");
currentPage.value = yema;
//提交表单
document.getElementById("searchForm").submit();
}
function deleteUser(id) {
if(confirm("确定要删除改用户吗?")){
location.href = "/deleteServlet?id=" + id;
}
}
function submitDelSelected(){
//判断是否选择了删除项
var hasSelected = false;
var ids = document.getElementsByName("id");
for (var i = 0; i < ids.length; i++) {
if(ids[i].checked == true){
hasSelected = true;
break;
}
}
if(hasSelected){
//需要用户确认
if(confirm("确定要删除这些用户吗?")){
document.getElementById("delSelectedForm").submit();
}
}else{
//给出还没有选择的提示
confirm("请先选择需要删除的用户");
}
}
</script>
</head>
<body>
<div class="container"> <h3 style="text-align: center">用户信息列表</h3> <%--<div class="btn-group" role="group" aria-label="...">--%>
<%--<button type="button" class="btn btn-default">Left</button>--%>
<%--<button type="button" class="btn btn-default">Middle</button>--%>
<%--<button type="button" class="btn btn-default">Right</button>--%>
<%--</div>--%>
<div class="tool mb-10">
<form id="searchForm" action="${pageContext.request.contextPath}/findUserByPageServlet" method="post" class="form-inline float-left">
<input type="hidden" id="currentPage" name="currentPage" value="${userPage.currentPage}">
<div class="form-group">
<label for="name">姓名</label>
<input type="text" value="${searchCondition.name[0]}" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="address">籍贯</label>
<input type="text" class="form-control" value="${searchCondition.address[0]}" id="address" name="address">
</div>
<div class="form-group">
<label for="email">邮箱</label>
<input type="email" class="form-control" value="${searchCondition.email[0]}" id="email" name="email">
</div>
<button type="submit" class="btn btn-default">查询</button>
</form>
<div class="right-tool float-right">
<a class="btn btn-primary" href="add.jsp" role="button">添加联系人</a>
<a class="btn btn-primary" href="javascript: submitDelSelected();" role="button">删除选中</a>
<form action="${pageContext.request.contextPath}/delSelectedServlet" method="post" id="delSelectedForm"></form>
<%--<button type="button" class="btn btn-primary">添加联系人</button>--%>
<%--<button type="button" class="btn btn-primary">删除选中</button>--%>
</div>
</div>
<table border="1" class="table table-bordered table-hover">
<tr class="success">
<th><input type="checkbox" id="firstCb"></th>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>籍贯</th>
<th>QQ</th>
<th>邮箱</th>
<th>操作</th>
</tr>
<c:forEach items="${userPage.pageData}" var="user" varStatus="vs">
<tr>
<td><input form="delSelectedForm" type="checkbox" name="id" value="${user.id}"></td>
<td>${vs.count}</td>
<td>${user.name}</td>
<td>${user.gender}</td>
<td>${user.age}</td>
<td>${user.address}</td>
<td>${user.qq}</td>
<td>${user.email}</td>
<td><a class="btn btn-default btn-sm" href="/findUserServlet?id=${user.id}">修改</a>&nbsp;<a class="btn btn-default btn-sm" href="javascript: deleteUser(${user.id});">删除</a></td>
</tr>
</c:forEach>
</table> <nav>
<ul class="pagination"> <c:if test="${userPage.currentPage == 1}">
<li class="disabled">
</c:if>
<c:if test="${userPage.currentPage != 1}">
<li>
</c:if>
<a href="javascript: pageLink(1);" aria-label="Previous">
<span aria-hidden="true">首页</span>
</a>
</li> <c:if test="${userPage.currentPage == 1}">
<li class="disabled">
</c:if>
<c:if test="${userPage.currentPage != 1}">
<li>
</c:if>
<a href="javascript: pageLink(${userPage.currentPage - 1});" aria-label="Previous">
<span aria-hidden="true">上一页</span>
</a>
</li>
<c:forEach begin="1" end="${userPage.totalPage}" var="i">
<c:if test="${userPage.currentPage == i}">
<li class="active">
</c:if>
<c:if test="${userPage.currentPage != i}">
<li>
</c:if>
<a href="javascript: pageLink(${i});">${i}</a></li>
</c:forEach>
<c:if test="${userPage.currentPage == userPage.totalPage}">
<li class="disabled">
</c:if>
<c:if test="${userPage.currentPage != userPage.totalPage}">
<li>
</c:if>
<a href="javascript: pageLink(${userPage.currentPage + 1})" aria-label="Next">
<span aria-hidden="true">下一页</span>
</a>
</li> <c:if test="${userPage.currentPage == userPage.totalPage}">
<li class="disabled">
</c:if>
<c:if test="${userPage.currentPage != userPage.totalPage}">
<li>
</c:if>
<a href="javascript: pageLink(${userPage.totalPage})" aria-label="Next">
<span aria-hidden="true">末页</span>
</a>
</li> <span class="total-page">共${userPage.totalCount}条记录,共${userPage.totalPage}页</span>
<select form="searchForm" id="pageSizeSelect" name="pageSize" class="pageSize form-control">
<option value="3">3</option>
<option value="5">5</option>
<option value="8">8</option>
<option value="10">10</option>
<option value="15">15</option>
</select>
</ul>
跳转到 <input id="jumpPage" class="form-control jumpPage" type="text">
</nav>
</div>
</body>
</html>

查询表单方式 传递查询条件和分页参数

 <%--
Created by IntelliJ IDEA.
User: jie
Date: 2019/5/10
Time: 20:00
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">
<head>
<!-- 指定字符集 -->
<meta charset="utf-8">
<!-- 使用Edge最新的浏览器的渲染方式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- viewport视口:网页可以根据设置的宽度自动进行适配,在浏览器的内部虚拟一个容器,容器的宽度与设备的宽度相同。
width: 默认宽度与设备的宽度相同
initial-scale: 初始的缩放比,为1:1 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>用户信息管理系统</title> <!-- 1. 导入CSS的全局样式 -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- 2. jQuery导入,建议使用1.9以上的版本 -->
<script src="js/jquery-2.1.0.min.js"></script>
<!-- 3. 导入bootstrap的js文件 -->
<script src="js/bootstrap.min.js"></script>
<style type="text/css">
td, th {
text-align: center;
}
.mb-10{
margin-bottom: 10px;
}
.float-right{
float: right;
}
.float-left{
float: left;
}
.tool::after{
content: '';
display: block;
clear: both;
}
.table>tbody>tr>td{
vertical-align: middle;
}
.total-page{
margin-top: 5px;
display: inline-block;
margin-left: 15px;
font-size: 16px;
}
.pageSize{
display: inline-block;
width: auto;
margin: 0px 10px;
}
.jumpPage{
display: inline-block;
width: 50px;
}
</style>
<script> window.onload = function () {
/*
全选和全部选功能实现
1为firstCb绑定单击事件
3获取所有的复选框,将其状态设置为和firstCb一致
*/
var firstCb = document.getElementById("firstCb");
// console.log(firstCb.checked);
firstCb.onclick = function () {
// firstCb.checked = !firstCb.checked;
var ids = document.getElementsByName("id");
for (var i = 0; i < ids.length; i++) {
ids[i].checked = firstCb.checked;
}
} /*
设置页的大小
*/
document.getElementById("pageSizeSelect").onchange = function(){
//手动提交查询条件表单
document.getElementById("searchForm").submit();
};
/*
页大小控制的回显
*/
var pageSizeOptions = document.getElementById("pageSizeSelect").options;
for (var i = 0; i < pageSizeOptions.length; i++) {
if(pageSizeOptions[i].value == "${userPage.pageSize}"){
pageSizeOptions[i].selected = true;
}
}
/*
页面跳转
*/
document.getElementById("jumpPage").onkeydown = function (ev) {
if(ev.keyCode == 13){
//按下回车,将currentPage元素的值设置为输入框的值
// var currentPage = document.getElementById("jumpPage").value;
// var currentPageEle = document.getElementById("currentPage");
// currentPageEle.value = currentPage;
var currentPageValue = document.getElementById("jumpPage").value;
//验证输入页码是否是数字
if(currentPageValue.match(/^\d+$/)){
//是数字,提交表单
document.getElementById("currentPage").value = currentPageValue;
//提交表单
document.getElementById("searchForm").submit();
}else{
//不是数字,清空输入内容
document.getElementById("jumpPage").value = "";
}
}
}
}
function pageLink(yema){
var currentPage = document.getElementById("currentPage");
currentPage.value = yema;
//提交表单
document.getElementById("searchForm").submit();
}
function deleteUser(id) {
if(confirm("确定要删除改用户吗?")){
location.href = "/deleteServlet?id=" + id;
}
}
function submitDelSelected(){
//判断是否选择了删除项
var hasSelected = false;
var ids = document.getElementsByName("id");
for (var i = 0; i < ids.length; i++) {
if(ids[i].checked == true){
hasSelected = true;
break;
}
}
if(hasSelected){
//需要用户确认
if(confirm("确定要删除这些用户吗?")){
document.getElementById("delSelectedForm").submit();
}
}else{
//给出还没有选择的提示
confirm("请先选择需要删除的用户");
}
}
</script>
</head>
<body>
<div class="container"> <h3 style="text-align: center">用户信息列表</h3> <%--<div class="btn-group" role="group" aria-label="...">--%>
<%--<button type="button" class="btn btn-default">Left</button>--%>
<%--<button type="button" class="btn btn-default">Middle</button>--%>
<%--<button type="button" class="btn btn-default">Right</button>--%>
<%--</div>--%>
<div class="tool mb-10">
<form id="searchForm" action="${pageContext.request.contextPath}/findUserByPageServlet" method="post" class="form-inline float-left">
<input type="hidden" id="currentPage" name="currentPage" value="${userPage.currentPage}">
<div class="form-group">
<label for="name">姓名</label>
<input type="text" value="${searchCondition.name[0]}" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="address">籍贯</label>
<input type="text" class="form-control" value="${searchCondition.address[0]}" id="address" name="address">
</div>
<div class="form-group">
<label for="email">邮箱</label>
<input type="email" class="form-control" value="${searchCondition.email[0]}" id="email" name="email">
</div>
<button type="submit" class="btn btn-default">查询</button>
</form>
<div class="right-tool float-right">
<a class="btn btn-primary" href="add.jsp" role="button">添加联系人</a>
<a class="btn btn-primary" href="javascript: submitDelSelected();" role="button">删除选中</a>
<form action="${pageContext.request.contextPath}/delSelectedServlet" method="post" id="delSelectedForm"></form>
<%--<button type="button" class="btn btn-primary">添加联系人</button>--%>
<%--<button type="button" class="btn btn-primary">删除选中</button>--%>
</div>
</div>
<table border="1" class="table table-bordered table-hover">
<tr class="success">
<th><input type="checkbox" id="firstCb"></th>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>籍贯</th>
<th>QQ</th>
<th>邮箱</th>
<th>操作</th>
</tr>
<c:forEach items="${userPage.pageData}" var="user" varStatus="vs">
<tr>
<td><input form="delSelectedForm" type="checkbox" name="id" value="${user.id}"></td>
<td>${vs.count}</td>
<td>${user.name}</td>
<td>${user.gender}</td>
<td>${user.age}</td>
<td>${user.address}</td>
<td>${user.qq}</td>
<td>${user.email}</td>
<td><a class="btn btn-default btn-sm" href="/findUserServlet?id=${user.id}">修改</a>&nbsp;<a class="btn btn-default btn-sm" href="javascript: deleteUser(${user.id});">删除</a></td>
</tr>
</c:forEach>
</table> <nav>
<ul class="pagination"> <c:if test="${userPage.currentPage != 1}">
<li>
<a href="javascript: pageLink(1);" aria-label="Previous">
<span aria-hidden="true">首页</span>
</a>
</li>
</c:if> <c:if test="${userPage.currentPage != 1}">
<li>
<a href="javascript: pageLink(${userPage.currentPage - 1});" aria-label="Previous">
<span aria-hidden="true">上一页</span>
</a>
</li>
</c:if> <c:forEach begin="1" end="${userPage.totalPage}" var="i">
<c:if test="${userPage.currentPage == i}">
<li class="active">
</c:if>
<c:if test="${userPage.currentPage != i}">
<li>
</c:if>
<a href="javascript: pageLink(${i});">${i}</a></li>
</c:forEach> <c:if test="${userPage.currentPage != userPage.totalPage && userPage.totalPage != 0}">
<li>
<a href="javascript: pageLink(${userPage.currentPage + 1});" aria-label="Previous">
<span aria-hidden="true">下一页</span>
</a>
</li>
</c:if> <c:if test="${userPage.currentPage != userPage.totalPage && userPage.totalPage != 0}">
<li>
<a href="javascript: pageLink(${userPage.totalPage});" aria-label="Previous">
<span aria-hidden="true">尾页</span>
</a>
</li>
</c:if> <span class="total-page">共${userPage.totalCount}条记录,共${userPage.totalPage}页</span>
<select form="searchForm" id="pageSizeSelect" name="pageSize" class="pageSize form-control">
<option value="3">3</option>
<option value="5">5</option>
<option value="8">8</option>
<option value="10">10</option>
<option value="15">15</option>
</select>
</ul>
跳转到 <input id="jumpPage" class="form-control jumpPage" type="text">
</nav>
</div>
</body>
</html>

首页时不显示首页和上一页 尾页时不显示尾页和下一页

条件分页 分页条件和页参数传递方式一 超链接拼串 方式二 使用查询表单searchForm的更多相关文章

  1. 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

    一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...

  2. python 全栈开发,Day115(urlencode,批量操作,快速搜索,保留原搜索条件,自定义分页,拆分代码)

    今日内容前戏 静态字段和字段 先来看下面一段代码 class Foo: x = 1 # 类变量.静态字段.静态属性 def __init__(self): y = 6 # 实例变量.字段.对象属性 # ...

  3. hibernate中带查询条件的分页

    所谓分页,从数据库中分,则是封装一个分页类.利用分页对象进行分页. 但,分页往往带查询条件. 分页类的三个重要数据:[当前页码数],[数据库中的总记录数],[每页显示的数据的条数] 原理:select ...

  4. SpringBoot+SpringDataJPA如何实现自定义查询[多表,多条件,分页,自定义sql封装]

    举个例子:我们要在已经搭建好了的JPA环境下实现联合多表,多条件,多排序条件,分页查询一个表格数据,下面的表格 返回类MyJSON: public class MyJSON { private Str ...

  5. javaWeb核心技术第十二篇之分页和条件

    分页:limit ?,? 参数1 : startIndex 开始索引. 参数2 : pageSize 每页显示的个数 n 表示第几页 给定一个特殊的单词 pageNumber select * fro ...

  6. javaWeb核心技术之分页和条件

    分页:limit ?,? 参数1 : startIndex 开始索引. 参数2 : pageSize 每页显示的个数 n 表示第几页 给定一个特殊的单词 pageNumber select * fro ...

  7. 【JPA】Spring Data JPA 实现分页和条件查询

    文章目录 1.在`Repository`层继承两个接口 2.在Service层进行查询操作 3.Page的方法 1.在Repository层继承两个接口 JpaRepository<Admin, ...

  8. EF:分页查询 + 条件查询 + 排序

    /// <summary> /// linq扩展类---zxh /// </summary> /// <typeparam name="T">& ...

  9. Spring Data JPA 复杂/多条件组合分页查询

    推荐视频: http://www.icoolxue.com/album/show/358 public Map<String, Object> getWeeklyBySearch(fina ...

随机推荐

  1. Android环境下通过C框架层控制WIFI【转】

    本文转载自:https://blog.csdn.net/edw200/article/details/52192631 本人是从事Linux嵌入式开发的,安卓wifi控制在安卓JAVA层已经做得非常成 ...

  2. (转)RTSP协议详解

    转自:https://www.cnblogs.com/lidabo/p/6553212.html RTSP简介     RTSP(Real Time Streaming Protocol)是由Real ...

  3. ACM学习历程—SNNUOJ 1116 A Simple Problem(递推 && 逆元 && 组合数学 && 快速幂)(2015陕西省大学生程序设计竞赛K题)

    Description Assuming a finite – radius “ball” which is on an N dimension is cut with a “knife” of N- ...

  4. BZOJ3127:[USACO2013OPEN]Yin and Yang

    浅谈树分治:https://www.cnblogs.com/AKMer/p/10014803.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem. ...

  5. hdu 2222 Keywords Search——AC自动机

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2222 第一道AC自动机! T了无数边后终于知道原来它是把若干询问串建一个自动机,把模式串放在上面跑:而且只 ...

  6. 洛谷P1018乘积最大——区间DP

    题目:https://www.luogu.org/problemnew/show/P1018 区间DP+高精,注意初始化和转移的细节. 代码如下: #include<iostream> # ...

  7. WPF 使用MultiBinding ,TwoWay ,ValidationRule ,需要注意的事项

    当wpf使用multibinding时, 其内部的validaterule的value 是其多个Binding的值, 要根据情况去验证, 还有就是在做IMultiConverter的ConvertBa ...

  8. 网络编程 recv()函数

    recv()是编程语言函数. 函数原型int recv( _In_ SOCKET s, _Out_ char *buf, _In_ int len, _In_ int flags); 这里只描述同步S ...

  9. 11_listview入门

    listview是在安卓开发当中很常用的API. 以垂直滚动的列表的方式展示条目的控件. ListAdapter是一个桥梁,给ListView提供数据的.数据是由适配器来进行提供的.Adapter是数 ...

  10. PCL中异常处理机制

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=287 本节我们主要讨论PCL在编写和应用过程中如何利用PCL的异常机制,提高 ...