`

基于DWR、Hibernate、Spring实现的分页(一)

    博客分类:
  • Java
阅读更多

这是一个自己前些天写的例子,现在直接切入主题。

(图一 代码调用流程图)

 

以上是大致整个流程的调用过程。得到后台数据的方法主要是基于Ajax实现的,那么,在此使用了DWR框架,对于DWR框架的介绍,大家可以利用Google进行搜索,它主要是方便我们在前台页码利用Javascript去调用后台的Java代码。在示例中的话,我是利用了DWR中StudentUtils的paginationAllStudent()获得数据并在前台显示,而这个paginationAllStudent()方法,就是对应与后台Java代码中的StudentinfoDAO.paginationAllStudent()方法。这里只是类名的不同,因为在DWR配置文件中进行了配置。

接下来分析一下主要的代码。

(1)PaginationSupport类,具体代码实现不写,主要用于封装当前页面信息。如:当前第几页,共多少条记录,前后页索引等。

public class PaginationSupport  implements java.io.Serializable {
	
	public final static int PAGESIZE = 10;

	private int pageSize = PAGESIZE;
	
	private int totalCount;
    
	private int currentPage;

	private int startIndex;

	private int[] indexes = new int[0];

	private int nextIndex;

	private int previousIndex;

	private int pageCount;

	private List items; //存放从数据库取得的数据

	private int lastIndex;
        
         ....   
         ....

}

 (2)StudentinfoDAO类中的paginationAllStudent()方法,主要是用于获得数据,返回PaginationSupport类型,

 (3)DWR配置文件

<!--因为我使用了Spring,所以采取了这种方式-->
<create creator="spring" javascript="StudentUtils">
	<param name="beanName" value="studentinfoDAO" />  
</create>
<!--如果一般情况下,使用以下配置就可以了-->
<create creator="new" javascript="Demo">
	<param name="class" value="your.java.Bean" />
</create>

<!--转换前台获得数据可能用到的JavaBean-->
<!--效果即可以使用以下类中的getXXX方法在前台得到数据-->
<convert match="org.wiki.student.utils.PaginationSupport" converter="bean"/>
<convert match="org.wiki.student.domain.models.*" converter="bean"/>

 (4)前台页面Javascript代码

function getData(startIndex){
     //调用DWR中的方法获得数据,startIndex翻页索引
    //假如每页5条数据,那么第一页为0,第二页为5...
    //callback为DWR中的回调函数,用于获得数据
     StudentUtils.paginationAllStudent(startIndex, callback);
     }
     
     //定义回调函数,即如何显示数据
     function callback(data){
          //这里采用dwr工具包util中方法进行数据输出
          //注意这里的data参数,出现多次,并非指同一个对象
         //首先清空页面中id为tableContent的tbody标签数据
         dwr.util.removeAllRows("tableContent");
         
        //定义数据输出方式的一个函数组。
         //以下data参数其实可以自己任意命名
         var cellfuncs = [function(data){
         //获得当前数据,并构建一个超链接
         var aTemp = document.createElement("a");
         aTemp.href="${pageContext.request.contextPath }/student/course.do?sid="+data.stuid;
         aTemp.innerHTML=data.stuid+"查看详情";
         return aTemp;},
  						  function(data){return data.stuno;},
  						  function(data){return data.stuname;},
  						  function(data){
                                                  //后台数据为m或w 字符,在此格式化输出
  						  if(data.sex=='m')
  						    return '男';
  						  else 
  						    return '女';
  						  }, 
  						  function(data){ return data.fomartDate;},
  						  function(data){return data.address;},  
  						  function(data){return data.telephone;},  
  						  function(data){return data.remark;},
  						 ] 
	 //为id是tableContent的tbody填充数据,数据集存放在data.items,
        // 填充的输出方式为cellfuncs   
         dwr.util.addRows("tableContent",data.items,cellfuncs);         
     }

 以上基本上是主要涉及的代码,可能还会涉及到一些页面初始化的Javascript,需要的可以联系我。

  • 大小: 31 KB
分享到:
评论
4 楼 wikimo 2010-01-21  
示例代码见:
http://wikimo.iteye.com/blog/356833
3 楼 stuhack0303 2010-01-21  
最好把代码分享下吧,谢谢。
2 楼 313216444 2009-10-20  
谢谢楼主的分享,我想看一下页面的代码是如何实现的?就是在页面填充tbody的那里
1 楼 zhuliangjack 2009-03-28  
可以发个完整的源码吗  谢谢……

相关推荐

    基于DWR、Hibernate、Spring实现的分页(二)

    在本篇博文中,我们将深入探讨如何利用DWR(Direct Web Remoting)、Hibernate和Spring框架来实现一个高效的分页功能。这些技术都是Java Web开发中的关键组件,它们各自扮演着不同的角色,共同构建出强大的后端系统...

    Hibernate+Spring+DWR分页(原创)

    《整合Hibernate、Spring与DWR实现超强分页功能详解》 在现代Web开发中,提供高效、用户体验良好的分页功能是必不可少的。本教程将深入探讨如何利用Hibernate作为持久层框架,Spring作为应用层框架,以及Direct Web...

    struts+spring+hibernate+dwr+分页例子

    在这个“struts+spring+hibernate+dwr+分页例子”中,我们将深入探讨这四个框架的集成以及分页功能的实现。 1. **Struts**: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。它主要负责处理...

    dwr+spring+hibernate的示例

    1、在dwr中尝试编写的一些通用的代码,包括如何编写一个通用的列表显示框并实现分页、如何编写一个通用的单行编辑框、如何编辑一个通用的存盘和删除程序等等。 &lt;br&gt;2、在dwr中如何与spring兼容,调用bus中的方法...

    Ext_Dwr_Spring_Hibernate任务管理系统

    "Ext_Dwr_Spring_Hibernate任务管理系统"是一个集成多种技术的Web应用,主要目标是实现一个功能完善的任务管理平台。这个系统充分利用了JavaScript库EXT JS(EXT)的强大UI组件,DWR(Direct Web Remoting)的技术来...

    struts hibernate spring 分页 ssh 控件 实验室 管理 系统

    在SSH框架下,可以通过Struts的拦截器或Spring的Pageable接口来实现分页查询,从而避免一次性加载大量数据导致的性能问题。 DWR(Direct Web Remoting)是一种JavaScript到Java的远程调用技术,它使得前端能够直接...

    Ext_Dwr_Spring_Hibernate完美结合,工程实例

    其中edit-grid2.html页面中的数据是利用dwr调spring,进过spring中的业务方法掉hibernate来操作数据库完成的,涉及数据库的增,删,改,查。 涉及分页。利用到了PagingDWRProxy,DWRProxy等。 是在以前发的一个例子...

    高效率的dw+spring+hibernate分页演示例子

    在IT行业中,开发高效、可扩展的Web应用是至关重要的,而`DWR (Direct Web Remoting)`、`Spring`和`Hibernate`是三个非常关键的技术组件,它们各自扮演着不同的角色并协同工作以实现这一目标。这个"高效率的dw+...

    ssh+dwr分页程序实现

    在这个“ssh+dwr分页程序实现”中,我们将探讨如何结合SSH框架和DWR技术来实现一个功能完善的分页系统。 分页是Web应用中常见的功能,它能够帮助用户更有效地浏览大量的数据,提高用户体验。在SSH框架中,分页通常...

    Displaytag dwr 分页

    在"Displaytag dwr 分页"的应用中,Hibernate 可能被用来从数据库中检索和操作数据,这些数据随后通过Spring管理的Bean传递给DWR,由DWR进一步传递给前端的Displaytag表格进行展示和分页。 Maven 是一个项目管理和...

    ssh(struts,hiberate,spring)++dwr分页

    在"ssh(struts,hibenate,spring)++dwr分页"的场景中,开发者可能是在构建一个Web应用程序,其中涉及到大量的数据展示,比如一个数据列表。为了提高用户体验,他们采用了分页技术,这样用户可以逐步加载和查看数据,...

    ExtJs+Dwr带分页分组传参后台排序功能的grid

    在本文中,我们将深入探讨如何实现一个基于ExtJS和Direct Web Remoting (DWR)的带分页、分组及后台排序功能的Grid组件。这个功能整合了多种技术,包括ExtJS、DWR、Spring和Hibernate,以创建一个高效且灵活的数据...

    三级联动(DWR框架,hibernate)

    **标题解析:**“三级联动(DWR框架,hibernate)”指的是在Web开发中,使用Direct Web Remoting (DWR) 框架与Hibernate ORM工具实现的一种数据交互和展示方式。三级联动通常指的是在三个下拉列表中,前一个列表的...

    ssh+dwr分页。。

    SSH(Struts2 + Spring + Hibernate)是一种经典的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。DWR(Direct Web Remoting)则是一个JavaScript库,它允许在浏览器和服务器之间进行实时的双向通信,...

    Struts2 Spring3.0 Hibernate3.3 整合全注解配置

    Struts2 Spring3.0 Hibernate3.3 全注解配置,避免了大量业务类在Spring文件的配置,整合了DWR3.0,displayTag 物理分页技术的实现。树形菜单。 另外数据库,在下一个资源;由于20MB的限制。 有问题的话留言。

    (3.0版本)自己写的struts2+hibernate+spring实例

    jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有...

    DWR+jquery2.x+easyUI1.3.x开发富客户端应用

    1. **SSH+jQuery+DWR+EasyUI 实战**:本文档通过一系列的实战案例展示了如何将 Struts2、Spring3、Hibernate4 与 DWR、jquery2.x 和 easyUI1.3.x 结合起来开发实际的应用。 2. **实战案例详解**: - SSH 架构集成...

    s2sh与dwr整合实现的增删改查

    在IT行业中,s2sh(Struts2+Spring+Hibernate)是一个常见的企业级Web应用开发框架,它结合了Struts2的MVC模式、Spring的依赖注入和事务管理以及Hibernate的对象关系映射功能,提供了强大的后端支持。而DWR(Direct ...

    Spring2.5+Struts2.0+hibernate3.0+Dwr+jquery+displayTag

    1 基于SSH,service采用 annotation注入减少配置 2 利用struts2 的LoginAction-validation.xml 3 在bean里把service包;暴露DWR,写了一个验证用户名的流程 4 采用jpa作为POJO,还是减少配置 5 加入display的分页,并且...

    Ext解决题目(内存分页+导出Excel).rar

    项目中的"Ext_dwr_spring_hibernate"可能是一个整合了这四个技术的示例,展示了如何在Ext.js前端应用中,通过DWR调用Spring和Hibernate服务,实现内存分页和导出Excel的功能。具体的实现细节可能包括: - DWR配置:...

Global site tag (gtag.js) - Google Analytics