请教一个关于分页的问题

star882 2010-09-21 03:34:22

图片上显示的是分页的第2页。当我点击删除一行数据后,页面就会自动跳到第1页。
请问怎么样才能让它在删除后刷新数据保留在第2页?

删除的代码
<input type=button value="删除" onclick="operator('courDelete','<%= course.getCourId()%>')" />

operator代码
function operator(oper,id) {
if("courDelete"==oper){
if(window.confirm('确定删除该记录?')){
var form = document.getElementById("courform");
form.action = "/JRSYSMan/adminAction.do?method="+oper+"&cour_id="+id;
form.submit();
}

}
}

删除Action代码
public ActionForward courDelete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String cour_id_S = (String) request.getParameter("cour_id");

int cour_id=Integer.parseInt(cour_id_S);
if(!courseService.deleteCourseById(cour_id)){

return mapping.findForward("cour_del_error");
}

return mapping.findForward("cour_list");//cour_list 转向一个显示列表的Action

}
分页代码
function pageSearch(type) {
var curPage=document.getElementById("curPage");
var pageCount=document.getElementById("pageCount");
var pageNo=document.getElementById("pageNo");
var url ="/JRSYSMan/adminAction.do?method=courMan";
var params = "";
var gotoPage = curPage.innerText ;
switch (type) {
case -1: // previous page
gotoPage = new Number(gotoPage) - 1;
if (gotoPage < 1) {
gotoPage = 1;
return;// it's first page
}
break;
case 1: // next page
gotoPage = new Number(gotoPage) + 1;
if (gotoPage > pageCount.innerText) {
gotoPage = pageCount.innerText;
return;// it's last page
}
break;
case -2: // first page
if (gotoPage == '1')
return;// it's first page
gotoPage = 1; break;
case 2: // last page
if (pageCount.innerText == gotoPage)
return; // it's last page
gotoPage = pageCount.innerText ;
break;
case 0: // go to i-th page
var pattern = /\d+/;
if (!pattern.test(pageNo.value)){
alert("请输入数字!");
return;
}
gotoPage = pageNo.value;
break;
}
params += ("gotoPage=" + gotoPage);
var myAjax = new Ajax.Request(url, {method:'post',parameters: params,onComplete:setTheResult});
}
function setTheResult(originalRequest) {
var content=document.getElementById("content");
var txt=originalRequest.responseText;
content.innerHTML = txt;
}


...全文
154 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyhack 2010-09-22
  • 打赏
  • 举报
回复
楼上的说法都正确,但不建议这么做,用ajax去做吧
star882 2010-09-21
  • 打赏
  • 举报
回复

获取了curpage的值 跳转到显示页面后,出来的效果就如图。点下一页,上一页没有反应,出来一个缺少对象的错误。。
扯出一片天 2010-09-21
  • 打赏
  • 举报
回复
下边不是有当前第几页么,你把那个参数传过去不就是2了。。。。。
star882 2010-09-21
  • 打赏
  • 举报
回复
一直在尝试。。还没成功。。用JS 传参 发现获取的是一个对象。。郁闷
qqzhuyuehe 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 star882 的回复:]

引用 4 楼 eayun1117 的回复:
你在点击下一页的时候就把点击的页数赋值给给“curPage”然后再删除之后的刷新时,带上curPage这个参数

给行代码吧。脑子挺混乱的。
[/Quote]混乱了就先想清楚,上面已经给了思路,相信你肯定能写好的
star882 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 eayun1117 的回复:]
你在点击下一页的时候就把点击的页数赋值给给“curPage”然后再删除之后的刷新时,带上curPage这个参数
[/Quote]
给行代码吧。脑子挺混乱的。
ekekyn 2010-09-21
  • 打赏
  • 举报
回复
保存页数,重新查询
tianshi1017 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 star882 的回复:]
我在JSP 页面写了 <input type=hidden name=curPage value=${curPage}>
可是获取过来的 是 1.
[/Quote]

那你后台传过来的就不对
Eayun1117 2010-09-21
  • 打赏
  • 举报
回复
你在点击下一页的时候就把点击的页数赋值给给“curPage”然后再删除之后的刷新时,带上curPage这个参数
star882 2010-09-21
  • 打赏
  • 举报
回复
我在JSP 页面写了 <input type=hidden name=curPage value=${curPage}>
可是获取过来的 是 1.
yearnqiao 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liujun5515008 的回复:]
你把分页的页数记下来,在通过后台查询数据的时候,查询这个页数下的数据不就行了!同时将当前的页面值赋给你分页对象属性所对应的页数上。
[/Quote]

赞成,,保存你删除时的页数
liujun5515008 2010-09-21
  • 打赏
  • 举报
回复
你把分页的页数记下来,在通过后台查询数据的时候,查询这个页数下的数据不就行了!同时将当前的页面值赋给你分页对象属性所对应的页数上。
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 C#开发基于FreeSql多库分布式事务、跨库查询、跨库分页查询、跨库增删改等功能实现源码+项目说明+sln.zip **前言** 话说2021年开始了一个基于ASP.NET Core 微服务的项目,谈到微服务 多库环境下 分布式事务、分库分表这些问题都是逃不开的,于是首先从ORM开始调研,需要考虑到一些重要的因素 **功能强大、支持多种数据库(并且行为一致,防止出现换库的情况)、支持分库分表** 等等,这时候第一时间就想到了 [FreeSql](https://github.com/dotnetcore/FreeSql) ,FreeSql的架构设计非常好,每一种支持的数据库都有对应的Provider实现 做到行为一致,而且支持CodeFirst和DbFirst,分库分表FreeSql也有比较简单切有效的方案,本人也经常向FreeSql的作者叶老板请教学习,非常佩服他的技术与人品,也非常感谢他能做出这么好的ORM框架。 **分布式事务** 既然分库了 分布式事务怎么处理,说到分布式事务 常见的解决方案有TCC/SAGA/消息队列最终一致性,在.NET生态中有基于消息队列实现的分布式事务 [CAP](https://github.com/dotnetcore/CAP) ,TCC和SAGA调研了很久没有发现有比较成熟的实现,那么就决定使用`CAP(最终一致性事务)` 由于项目持续的改版,业务的实时性变得越来越高,基于消息队列的这种最终一致性或者说异步事务的方案 越来越不适合我们的项目,这时候就需要同步的事务方案,TCC/SAGE又没有太好的解决方案(我真的没有找到。。),于是想着自己设计一个,基于FreeSql实现事务管理器。 想要的效果:和单库事务一样,出现错误回滚 但是问题来了 多库呢?不同的数据库呢? * 在多库事务的开启时,每个库管理开启自己的事务 * 如果某一个库事务开启后的操作出现异常,则回滚全部数据库事务 * 在多库事务提交时,每个库的事务统一提交 * 记录日志,第一个执行Common的数据库称之为主库,会自动创建一个日志表,用于记录多库事务的信息、执行的SQL、业务模块 用于人工介入或者事务补偿 * 如果主库(第一个库)Common成功后,其他某一个库可能由于网络原因、数据库宕机 无法Common事务,导致数据不一致,这时候要根据日志进行事务补偿或者人工介入,例如 存在三个库(订单库、物流库、商品库) 订单库就是主库(会记录日志) 在Common事务时,如果订单库(主库)Common失败,则(订单库、物流库、商品库)事务全部回滚,如果`订单库`(主库)Common成功,但是`物流库`由于其他原因无法Common成功 则会被日志记录并跳过,然后再去Common `商品库` 以及其他库.. **跨库查询/跨库分页查询** 通过时间分片定位、事件委托、分页算法实现跨库分页查询 1.appsettings.json配置 2.初始化数据库 3.获取IFreeSql操作对象 5.跨库分页查询 6. 跨库增删改 7.跨库并行查询(不分页) 8.跨库ToOne查询 9.跨库Any查询 10.分布式事务、多库事务

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧