Ajax异步刷新分页功能-MySQL
1.Servlet中代码
/** 条件Map */
Map<String, Object> map=new HashMap<String, Object>(); /** 分页配置 */
int index = request.getParameter("index")==null?1:Integer.parseInt(request.getParameter("index"));
int size=2;
map.put("index", (index-1)*size);
map.put("size", size);
/** 根据用户不同的请求进入不同的响应操作 */
String method = request.getParameter("method");
boolean mark=false;
if(method!=null){
if(method.equals("paging")){
/**执行分页操作 */
mark=true;
}
}
/** 得到用户添加到购物车中的商品集合 */
List<Entry> entrys = session.getMapper(EntryDao.class).selectUsEntry(map);
if(mark){
String entrysJson = JSONArray.fromObject(entrys).toString();
out.print(entrysJson);
return;
}
/** 得到总条数 算出总页数 */
Integer entryCount = session.getMapper(EntryDao.class).entryCount(map);
int totalPage=entryCount%size==0?entryCount/size:entryCount/size+1;
/** 响应结果 */
request.setAttribute("entrys", entrys);//得到用户的购物车
request.setAttribute("totalPage", totalPage);//总条数 /** 转发跳转 */
request.getRequestDispatcher("page/crat_page.jsp").forward(request, response);
此为JSP的代码
<body>
<table id="ver-minimalist" >
<thead>
<tr>
<th>类别</th>
<th>商品名字</th>
<th>普通价格</th>
<th>会员价格</th>
<th>数量</th>
<th>操作</th>
</tr>
</thead>
<tbody id="tbodyEntry" >
<c:forEach items="${requestScope.entrys}" var="entry" >
<tr>
<td>${entry.commodity.variety.nickName }</td>
<td>${entry.commodity.nickName }</td>
<td>${entry.commodity.ordinaryPrice }</td>
<td>${entry.commodity.memberPrice }</td>
<td>${entry.quantity }</td>
<td align="center">
<input type="button" value="删除" onclick="" />
</td>
</tr>
</c:forEach>
</tbody>
<thead>
<tr>
<th colspan="6" align="right" ><input type="button" value="结算" onclick="" /></th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="6" align="right"" width="30px" >
<input type="button" value="首页" id="firstpage" />
<input type="button" value="上页" id="beforepage" />
<input type="button" value="下页" id="nextpage" />
<input type="button" value="尾页" id="lastpage" />
<span id="index" >1</span>\<span id="totalPage" >${requestScope.totalPage}</span><!-- 此为当前页,与总页数 -->
</td>
</tr>
</tbody>
此为JQuerty的代码
/** 全局变量 */
var index = 1;
var totalPage = 0; /** 分页窗体事件 */
$(function () {
/**取从Servlect中传到JSP页面的总条数信息 给全局变量totalPage 赋值
* 下为JSP页面中显示当前页和总页数
* <span id="index" >1</span>\<span id="totalPage" >${requestScope.senior.totalPage}</span>
*/
totalPage=$("#totalPage").html();
//首页
$('#firstpage').click(function () {
if (index != 1) {
index = 1;
paging();/** 点击分页异步刷新函数 */
}
return false;
});
//尾页
$('#lastpage').click(function () {
if (index != totalPage) {
index = totalPage;
paging();
}
return false;
});
//上一页
$("#beforepage").click(function () {
if (index != 1) {
index = index - 1;
paging();
}
return false;
}); //下一页
$("#nextpage").click(function () {
if (index < totalPage) {
index = index + 1;
paging();
}
return false;
}); }) /** 点击分页 */
function paging(){
ajaxBase("cartPageServlet?method=paging","index="+index,"paging");
/** 给页面显示当前页赋值 */
$("#index").html(index);
} /** ajax函数工具类
* @param url:地址
* @param data:请求参数
* @param method:方法信号,作用判断进行什么操作
*/
function ajaxBase(url,data,method){
$.ajax({
type:'post',
url:''+url+'',
cache:false,
data:data,
dataType:'text',
success:function(result){
alert("ajax函数工具类:success");
/** 调用请求成功后的操作函数 */
success(result,method);
},
error:function(){
alert("ajax函数工具类:error");
}
});
} /** 根据method方法信号判断进行什么操作
* @param result:服务端响应的数据
* @param method:方法信号,作用判断进行什么操作
*/
function success(result,method){
if(method=="paging"){
$("#tbodyEntry").children().remove();
var result = eval("("+result+")");
var append="";
for(var rst in result){
append=append+""
+"<tr>"
+"<td>"+result[rst].commodity.variety.nickName+"</td>"
+"<td>"+result[rst].commodity.nickName+"</td>"
+"<td>"+result[rst].commodity.ordinaryPrice +"</td>"
+"<td>"+result[rst].commodity.memberPrice +"</td>"
+"<td>"+result[rst].quantity +"</td>"
+"<td align='center'>"
+"<input type='button' value='删除' onclick='javascript:alert('执行删除操作:'"+result[rst].id +")' />"
+"</td>"
+"</tr>"
}
$("#tbodyEntry").append(append);
}
}
Ajax异步刷新分页功能-MySQL的更多相关文章
- springmvc结合ajax的分页功能
var itemCount;//符合查找条件的商品总页数,分页参考 var pageIndex = 0;//当前页,默认为0 var pageSize = 8;//每页显示个数为8 //按条件查找用户 ...
- 分页功能实现之通过ajax实现表单内容刷新
拿代码来说话 我们的需求就是点击翻页功能,实现表格内容局部刷新且能够翻到对应的页面上,不明白? 那么就看看下面的图,需要达到的效果如下所示: 现在要实现的功能就是把红线框起来的表单内容 在点击翻页的时 ...
- Jquery、Ajax实现新闻列表页分页功能
前端页面官网的开发,离不开新闻列表,新闻列表一般都会有分页的功能,下面是我自己总结加查找网上资料写的一个分页的功能,记录一下. 首先,官网的开发建立在前后端分离的基础上: 再有,后端小伙伴们提供列表页 ...
- 2018.2.28 PHP中使用jQuery+Ajax实现分页查询多功能如何操作
PHP中使用jQuery+Ajax实现分页查询多功能如何操作 1.首先做主页Ajax_pag.php 代码如下 <!DOCTYPE html> <html> <head& ...
- 纯手写实现ajax分页功能
前言 最近用到了这个功能,百度大半天,网上的不是有各种问题就是需要引入其他的插件,无奈,只能自己写,大致功能已经完成.前端页面用bootstrap做样式,分页功能用ajax实现,没用其他插件哦,只引入 ...
- 原生PHP实现Mysql数据分页功能
一. 思路整理 实现一个数据分页功能,需要有数据的总条数,每页展示的条数,和当前在第几页这三个参数 通过⌈总条数/每页展示的条数⌉可以得到总页数,比如某留言板有101条留言,每页展示10条,一那就需要 ...
- PHP中使用jQuery+Ajax实现分页查询多功能操作
1.首先做主页面Ajax_pag.php 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UT ...
- java ssm框架实现分页功能 (oracle)
java web 实现分页功能 使用框架:ssm 数据库:oracle 话说 oracle 的分页查询比 mysql 复杂多了,在这里简单谈一下: 查询 前十条数据: SELECT * FROM( S ...
- jPList – 实现灵活排序和分页功能的 jQuery 插件
jPList 是一个灵活的 jQuery 插件,可以用于任何 HTML 结构的排序,分页和筛选.它支持的数据源包括:PHP + MySQL,ASP.NET + SQL Server,PHP + SQL ...
随机推荐
- 从零开始--系统深入学习IOS(使用Swift---带链接)
这是一篇面向IOS新手的文档.同时提供一些系统知识的链接,让你系统学习IOS.它提供一些信息帮助你采用技术和编程接口来开发苹果软件产品,本人不保证会在将来更新.学习它,需要你掌握一些基本的编程知识 1 ...
- Bag标签之中的一个行代码实行中文分词实例2
例1: 分词(返回以逗号隔开每一个词带上引號的词组.gap=",",quotes="'"或quotes='"') 单引號 <bag id=pPa ...
- Servlet3.0学习总结——基于Servlet3.0的文件上传
Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...
- 用Eclipse运行Android版APP(PhoneGap)时出现:Unable to execute dex: Multiple dex files define
这两天遇到点小问题,做个记录: 症状:运行,调试时都报:Unable to execute dex: Multiple dex files define错误,发布后的APP安装到手机后一运行,就提示: ...
- openssl命令行工具简介 - RSA操作
原文链接: http://www.cnblogs.com/aLittleBitCool/archive/2011/09/22/2185418.html 首先介绍下命令台下openssl工具的简单使用: ...
- DVI-A、DVI-D、DVI-I接口定义、DVI接口图和DVI接口标准介绍
http://blog.csdn.net/cd520yy/article/details/16993179
- Oracle数据库入门——物化视图语法
一.Oracle物化视图语法 create materialized view [view_name]refresh [fast|complete|force][on [commit|demand] ...
- .net 操作 sqlite
sqlite 表结构和数据的导出 全部导出 sqlite3 data.db >.output dd.sql >.dump 待续
- PLSQL Developer 出64位版了
在win64环境上,一般安装oracle客户端都是64位的了,Toad 也是64位的,但是PLSQL Developer 还是32位的,只能单单为它装一个32位的oracle 客户端,现在退出64位, ...
- QPaintDevice: Cannot destroy paint device that is being painted
在paintEvent中,使用QPainter * 绘制图像出现此问题.解决: 1.改为不使用QPainter指针. 2.添上begin(), end() QPainter * painter = n ...