jsp页面关建字查询出记录后,点下一页关键字会清空,怎么保持关键字不变而进行下一页操作?
解决方案一:
1 把关键字带回后台,从后台再次传入!
2 把关键字传入cookie,从cookie获取
3 把表格一栏放在iframe中,搜索时,刷新iframe即可
解决方案二:
用2个div分开就行,就是说上面关键字那个行里的所有放在一个div里,下面table放在另一个div里。我就是那样实现的
解决方案三:
关键字做参数提交,每页都获取这个参数,重新给关键字查询赋值,并且分页每次查询都去input标签的value值即可。这次用的这个思路解决的,很简单,每次查询后将模糊查询关键字通过如下代码返回到页面:
modelMap.addAttribute("telePhoneNo",telePhoneNo);
modelMap.addAttribute("userName",userName);
前台的form中的input标签中用EL标签给value属性复制就可了,完整代码如下:
<div class="row" style="margin-top:10px;">
<div class="col-md-12">
<form action="${ctx}/member/list" method="post" id="selectForm">
<div class="form-inline compact">
<div class="form-group">
<div class="form-group">
<label for="">登录名称</label>
</div>
<div class="input-group">
<input class="form-control input-sm" id="userName" name="userName" type="text" value="${userName}">
</div>
</div>
<div class="form-group">
<div class="form-group">
<label for="">手机号码</label>
</div>
<div class="input-group">
<input class="form-control input-sm" id="telePhoneNo" name="telePhoneNo" type="text" value="${telePhoneNo}">
</div>
</div>
<button type="submit" class="btn btn-primary btn-sm" style="margin-left:15px;">查询</button>
</div>
</form>
</div>
</div>
<c:if test="${pageInfo.list!=null}">
<div class="row" style="margint-top:10px;">
<div class="col-md-12">
<div id="sample_2_wrapper" class="dataTables_wrapper no-footer">
<div class="table-scrollable">
<table id="users_table"
class="table table-striped table-bordered table-hover dataTable no-footer"
role="grid" aria-describedby="sample_2_info">
<thead>
<tr role="row">
<th rowspan="1" colspan="1" style="width: 20px;text-align: center;">
序号</th>
<th rowspan="1" colspan="1" style="width: 80px;">
用户名</th>
<th rowspan="1" colspan="1" style="width: 80px;">
手机号</th>
<th rowspan="1" colspan="1" style="width: 60px;">
城市</th>
<th rowspan="1" colspan="1" style="width: 60px;">
生日</th>
</tr>
</thead>
<tbody>
<c:forEach items="${pageInfo.list}" var="rate" varStatus="status">
<c:if test="${status.index%2==0}">
<tr class="even">
</c:if>
<c:if test="${status.index%2>0}">
<tr class="odd">
</c:if>
<td style="text-align: center;">${status.index + 1}</td>
<td>${rate.userName}</td>
<td>${rate.telePhoneNo}</td>
<td>${rate.city}</td>
<td><fmt:formatDate value="${rate.birthDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
</tr>
</c:forEach>
</tbody>
</table>
</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="#" id = "firstPage" onclick="firstPage()">首页</a></li>
<!--上一页-->
<li>
<c:if test="${pageInfo.hasPreviousPage}">
<a href="#" id="priviewPage" onclick="priviewPage()" 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}/member/list?pageNum=${page_num}&pageSize=10" id="everyPage" onclick="everyPage()">${page_num}</a></li>
</c:if>
</c:forEach>
<!--下一页-->
<li>
<c:if test="${pageInfo.hasNextPage}">
<a href="javascript:void(0);" id="nextPage" onclick="nextPage()" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</c:if>
</li>
<li><a href="#" id="lastPage" onclick="lastPage()">尾页</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
</div>
</c:if>
<script>
/*Paging begin*/
function firstPage() {
document.getElementById("firstPage").href="${pageContext.request.contextPath}/member/list?pageNum=1&pageSize=10&telePhoneNo="+document.getElementById("telePhoneNo").value+"&userName="+
document.getElementById("userName").value;
}
function priviewPage() {
document.getElementById("priviewPage").href="${pageContext.request.contextPath}/member/list?pageNum=${pageInfo.pageNum-1}&pageSize=10&telePhoneNo="+document.getElementById("telePhoneNo").value+"&userName="+
document.getElementById("userName").value;
}
function everyPage() {
document.getElementById("everyPage").href +="&telePhoneNo="+document.getElementById("telePhoneNo").value+"&userName="+
document.getElementById("userName").value;
}
function nextPage() {
document.getElementById("nextPage").href="${pageContext.request.contextPath}/member/list?pageNum=${pageInfo.pageNum+1}&telePhoneNo="+document.getElementById("telePhoneNo").value+"&userName="+
document.getElementById("userName").value;
}
function lastPage() {
document.getElementById("lastPage").href="${pageContext.request.contextPath}/member/list?pageNum=${pageInfo.pages}&pageSize=10&telePhoneNo="+document.getElementById("telePhoneNo").value+"&userName="+
document.getElementById("userName").value;
}
/*Paging end*/
</script>
后台代码就简单了,不说了,用SpringMVC接接收参数,用PageHelper插件做分页即可,这个可以看作是PageHelper的页面实践。
jsp页面关建字查询出记录后,点下一页关键字会清空,怎么保持关键字不变而进行下一页操作?的更多相关文章
- /etc/ssh/sshd_config 关建字:PermitRootLogin no 禁示以root身份登录服务器
这种情况,不会影响,普通用户su到root
- /etc/ssh/sshd_config 关建字:AllowUsers root test01
新加用户,在AllowUsers 新增的用户名,重启sshd后,新增的用户才能登录服务器.
- JSP+Servlet+javabean+mysql实现页面多条件模糊查询
需求: 一般列表页上面会有一个查询框,有各种的查询条件组合,一般都采用模糊查询方式 ,以下以自己做的实例来说明一下实现方法: 需要实现的界面原型:要满足条件: 1.单选分类,点GO按扭 2.单独输入标 ...
- Web项目中用模板Jsp页面引入所有静态样式脚本文件(js,css等)
这样的好处是不需要再每个页面中都添加太多的外链接(不会减少请求数量),但对开发会更快捷,如果更改这些文件的位置或名称,只需要更改模板文件,不需要一个一个页面复制粘贴:同时可以为不同jsp页面组创建不同 ...
- jsp页面元素和内置对象
java server pages其根本是一个简化的servlet设计.实现了在java当中使用html标签.javaEE标准 一.页面元素 1.静态内容 html.js.css相关标签元素. 2.指 ...
- 数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询參照:对数据进行增删改查)
我们常常会用到通过图书的名称来查询图书那么这种话我们也就会使用到从数据库中搜索出数据而且载入到自己的Jsp页面中 这种话我们须要将从数据库中获取到的数据放进响应中然后通过%=request.getAt ...
- 自建目录中jsp页面访问servlet路径出错404
---恢复内容开始--- 自建目录中jsp页面访问servlet路径出错404 使用eclipse建立的项目,总是会遇到路径问题,比如jsp页面访问servlet,jsp在默认的路径.jsp在自建目录 ...
- JSP页面动态查询添加数据与分页数据显示
1 . <%@ page language="java" contentType="text/html; charset=UTF-8"%> < ...
- MySQL:如何查询出每个分组中的 top n 条记录?
问题描述 需求: 查询出每月 order_amount(订单金额) 排行前3的记录. 例如对于2019-02,查询结果中就应该是这3条: 解决方法 MySQL 5.7 和 MySQL 8.0 有不同的 ...
随机推荐
- js数组操作方法
数组的操作方法在js中可谓是诸子百家,各种某乱的方法让人眼花缭乱,有时候就会分不清什么是自带的什么是曾今写的api了 数组的增删 1 . push() , pop() 和 shift() unshi ...
- 20190815-$N \Theta IP$
$NOIP$ 请选择您想测试的难度: 「困难」 「困难的地狱」 「能被神犇切掉的」 「你做不出来的」 「简单(完成前面所有后解锁)」 要难死了-- 考试过程: 首先看看三道题: 这是NOIP模拟测试? ...
- 工控安全入门(一)—— Modbus协议
modbus基础知识 modbus协议最初是由Modicon公司在1971年推出的全球第一款真正意义上用于工业现场的总线协议,最初是为了实现串行通信,运用在串口(如RS232.RS485等)传输上的, ...
- 使用openssl 生成网站证书
*.key是私钥文件 证书通常以.crt为后缀,表示证书文件 CSR(Certificate Signing Request)包含了公钥和名字信息.通常以.csr为后缀,是网站向CA发起认证请求的文件 ...
- 策略模式(Strategy)(策略类,场景不同策略不同,环境策略分离组合,)
(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换.) 例:button 与 listener ,在使用时具体根据情况实例化listener,做不同的操作. 背景 在软件开发中常常遇到这 ...
- python基础--线程、进程
并发编程: 操作系统:(基于单核研究) 多道技术: 1.空间上的复用 多个程序共用一个计算机 2.时间上的复用 切换+保存状态 例如:洗衣 烧水 做饭 切换: 1.程序遇到IO操作系统会立刻剥夺着CP ...
- Redhat/Fedora 或类似系统, 配置网络的工具介绍
在Redhat早期的版本中, 有linuxconf .redhat-config-network .netconfig 等工具: 在Redhat/Fedora 最新的版本有 system-config ...
- 【P1203】 【USACO1.1】坏掉的项链Broken Necklace
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- C++函数部分总结
目录 为什么要使用函数 为什么要用函数重载 C++传参方式 特殊的函数--递归函数 为什么要使用函数 使用函数可以将一个比较复杂的程序系统的分为若干块简洁的模块,使程序更加清晰明了 比如,我们想要模拟 ...
- Vue--vue中的组件、组件绑定事件和数据、私有组件、子组件,父子组件参数互传
一.公有组件以及组件的使用和特点 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...