`
senhui19
  • 浏览: 47207 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

关于Struts2与Jquery实现无刷新分页的不解问题

阅读更多

     我最近正在做一个无刷新的网站管理后台,并把它作为我的毕业设计主题,不过在代码实现上遇到了点小问题,想向大家请教一二。我的设计思路大概是这样的:将后 台所生成的数据用JSON的格式输出,在前台借助JQUERY的AJAX功能将传过来的数据写出。这样的方式在实现数据的增、改、删功能上并不会很难,不 过在数据的查询方面便麻烦了,如何实现数据的无刷新分页呢?我查阅网上一些网友的做法,不过普遍发现他们的代码有点繁琐也不符合我设计初衷。通过查看 JQUERY的API我自己想出了一种可行的方案(目前已经实现部分功能):在查询的页面中先创建一个无数据的表格样式,通过JQUERY的CLONE功 能在查询数据时复制这个表格的样式同时将后台传过的数据填充其中和移除那行无数据的样式表格。

 

前台的JS相关代码如下:

<script type="text/javascript">
			// 显示所查询的数据
			function dataSource(){
				$.ajax({
					url:"${pageContext.request.contextPath}/jsonservlet",
					type:"post",
					data:{},
					dataType:"json",
					error:function(){alert("服务器通讯失败,请稍后再刷新页面。 ^_^");},
					success:function(data){
						insertTr(data);
					}
				});
			}
			// 查询数据的分页跳转
			function goPage(thePage){
				$.ajax({
					url:"${pageContext.request.contextPath}/jsonservlet",
					type:"post",
					data:{page:thePage},
					dataType:"json",
					error:function(){alert("服务器通讯失败,请稍后再刷新页面。 ^_^");},
					success:function(data){
						insertTr(data);
					}
				});
			}
			// 填充表格中的每行数据
			function insertTr(data) {
				//读取tr里数量
				var r = $("#datasource tr").size();
				var list = data.dataSource;
				$.each(list, function(i, r) {
					//克隆已有的表格样式及属性
					var row = $("#source").clone();
					//将数值填充至表格中
					row.find("#id").text(r.id)
					row.find("#name").text(r.name);
					row.find("#time").text(r.time);
					//将此行添加到表格中
					row.appendTo("#datasource");
				});
				// 移除第一行,因为它只有样式没有数据
				$("#datasource").children("tr:first").remove();
			}
		</script>
 

 

 

通过实践发现这个方案是可行的,不过出现了一个问题:在数据翻页 时如何将当前的数据移除并将新数据填充到页面中呢?(即: 在转到第2页时把当前第1页的数据移除并填充第2页的数据)我尝试了很多方法可仍是未能实现我想要的无刷新的分页效果,希望大家能帮我看看是哪里出问题了。谢谢。

 

 

 

PS: 我做了个小小的示例,大家可以下载回去帮我修改试试。

分享到:
评论
8 楼 chenletian006908 2013-06-18  
可以把 源码 发下一吗?或者在哪里下载
7 楼 ning5566 2011-11-09  
非常好 感谢了。。。
6 楼 luokery 2011-06-22  
这个是struts2么... 继续找呀找...
5 楼 luokery 2011-06-22  
senhui19 写道
还是自己动手“丰衣足食”啊,通过一系列调试终于是可以实现了啦,只要在var r = $("#datasource tr").size(); 下添加一行代码就行了,代码如下:

if(r > 1){
     $("#datasource").find("tr:not(:first)").remove();
}


现在把代码贡献出来,有需要的朋友可以参考一下,呵呵~~~

不行啊, 第2面以后, 都保留了第1行.
			function insertTr(data) {
				var r = $("#datasource tr").size();
				var num = 0;
				if(r < 1){
					num = 1;
				}else if(r > 1){
					
				}
				//$("#showmessage").text("r=["+r+"]" + $("#datasource").find("tr:first").html()); 
				
				var list = data.dataSource;
				
				$.each(list, function(i, r) {
					var row = $("#source").clone();
					if(num == 0){
						//$("#datasource").find("tr").remove();
						$("#datasource").each(function(){
	           				$(this).find("tr").remove();
	    				});
						num = 1;
					}
					row.find("#id").text(r.id)
					row.find("#name").text(r.name);
					row.find("#time").text(r.time);
					row.appendTo("#datasource");
				});

			}

上面是我修改后的, 我的IE8.0
4 楼 EchoZhouYou 2011-03-09  
支持JQuery,下了去研究,有机会talk下
3 楼 busing 2010-12-05  
呵呵  我们现在都用ext了  分页很简单
2 楼 senhui19 2010-11-05  
还是自己动手“丰衣足食”啊,通过一系列调试终于是可以实现了啦,只要在var r = $("#datasource tr").size(); 下添加一行代码就行了,代码如下:

if(r > 1){
     $("#datasource").find("tr:not(:first)").remove();
}


现在把代码贡献出来,有需要的朋友可以参考一下,呵呵~~~
1 楼 senhui19 2010-11-03  
自己先顶一个,有谁熟悉JQUERY的看看

相关推荐

    jquery java struts2 实现分页 非常好看的分页

    本教程将详细讲解如何利用jQuery、Java和Struts2框架来实现一个美观且可自定义样式的分页功能。 首先,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。在分页场景...

    struts2 spring2 ibatis2 jquery json 页面无刷新分页

    在页面无刷新分页中,jQuery 用于监听用户的分页操作(如点击按钮),通过Ajax发送异步请求到服务器,获取新页数据,然后动态更新页面内容,实现无刷新效果。同时,jQuery 可以帮助美化分页界面,增加用户体验。 **...

    struts2 jquery无刷新分页

    Struts2 jQuery无刷新分页是一种常见的Web应用技术,它结合了Struts2框架、jQuery库和MySQL数据库,实现了一种高效、用户友好的页面显示方式。无刷新分页允许用户在浏览大量数据时,无需等待整个页面重新加载,只...

    jQuery+Struts+Ajax无刷新分页

    - **视图**:返回的JSON数据被jQuery解析,并动态插入到页面中,实现无刷新的效果。 ### 3. Ajax分页原理 Ajax分页的基本流程如下: 1. 用户点击分页按钮,触发前端的jQuery事件。 2. 使用jQuery的Ajax方法发送...

    Struts2+jQuery(不用JSON)实现局部刷新

    在这个“Struts2+jQuery实现局部刷新”的主题中,我们将探讨如何利用这两者的优势来实现页面的无刷新更新。 1. **Struts2框架介绍**: Struts2是一个基于MVC设计模式的Java Web框架,它提供了良好的结构和可扩展性...

    struts2+jquery无刷新取后台数据

    总的来说,"struts2+jquery无刷新取后台数据"的实现是将Struts2的强大控制能力与jQuery的高效前端处理相结合,通过Ajax技术实现实时的前后端通信,提升用户体验。开发者应当熟练掌握Struts2的Action和Result配置,...

    Struts2 Jquery 实现Ajax无刷新验证用户名是否存在

    Struts2和jQuery是两种非常流行的Java Web开发技术,它们结合使用可以实现高效、动态的用户界面。在本示例中,我们将探讨如何利用这两者来实现Ajax无刷新验证,即在用户输入用户名时,后台实时检查该用户名是否已...

    struts2+Jquery分页插件

    以struts2标签的形式提供分页功能,使用简便,杜绝手工去拼分页标签的样式。目前提供了两种方式,直接原生的jquery调用,使用seajs模块化的方式。 源码地址:http://code.google.com/p/paginationex/source/checkout

    struts2整合jquery实现层拖拽即时保存。源码

    将Struts2与jQuery整合,可以充分利用两者的优势,创建出具有丰富交互效果的动态Web应用。 在本项目中,"struts2整合jquery实现层拖拽即时保存",指的是利用jQuery的拖放功能(draggable)和Struts2的Action机制,...

    Struts2+Jquery+Ajax

    在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...

    使用Struts2和jQuery EasyUI实现简单CRUD系统

    在本文中,我们将探讨如何使用...5. 使用AJAX在前端与后端之间传递数据,实现无刷新操作。 通过这样的方式,你可以构建出一个功能完备、用户友好的CRUD系统,同时理解和掌握了Struts2与jQuery EasyUI的结合使用。

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

    struts2+json+jquery实现ajax数据的存取

    "Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...

    struts+jquery实现无刷新验证用户名是否存在

    Struts2和jQuery是两种非常流行的Java Web开发技术。Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建动态Web应用程序,而jQuery则是一个轻量级的JavaScript库,极大地简化了DOM操作、事件处理和动画...

    struts2 jquery 分页

    在"Struts2 jQuery分页"这个主题中,我们主要讨论如何在Struts2应用中利用jQuery实现数据的分页显示。分页是大型Web应用程序中常见的功能,它能够帮助用户更有效地浏览和管理大量数据,提高用户体验。 首先,我们...

    Struts2+jquery

    在"JqueryTest"这个压缩包中,我们可以预见到一系列与Struts2和jQuery结合使用相关的代码示例。初学者可以通过学习这些示例来了解如何在实际项目中集成这两种技术。 首先,Struts2的核心是Action类,它处理来自...

    使用struts2+JQuery实现的简单的ajax例子

    在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...

    struts2+JQuery完整集成lib包

    3. **Struts2与jQuery的Ajax集成**:Struts2提供了内置的Ajax支持,如Struts2-jQuery插件,它扩展了Struts2框架,提供了与jQuery的无缝集成。通过使用这个插件,你可以轻松地创建Ajax化的Struts2 Action,例如使用sj...

    struts2+pager-taglib 实现分页小例子

    而Pager-taglib是Struts2的一个扩展,它提供了一种便捷的方式来实现页面的分页功能,这对于处理大量数据的展示至关重要。 在分页应用中,Pager-taglib允许开发者在页面上显示数据的一部分,而不是一次性加载所有...

Global site tag (gtag.js) - Google Analytics