`
lichen0921
  • 浏览: 81230 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

struts2+hibernate 分页

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

总听别人说分页分页的,自己也来试试,网上查了查资料,集百家所长后又自己发挥了一下.

直接上代码:

操作数据: PageDao.java

  1. packagecom.enorth.lichen.youth.dao;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. importorg.hibernate.Session;
  5. importcom.enorth.lichen.youth.hi.HibernateUtils;
  6. publicclassPageDao{
  7. publicListpageQuery(intpageSize,intpageNow){
  8. Listlist=newArrayList();
  9. Sessionsession=null;
  10. try{
  11. session=HibernateUtils.getSession();
  12. session.beginTransaction();
  13. //得到每页显示的LevTwoInFuUser的对象的集合list
  14. list=session.createQuery("fromLevTwoInFuUserl2ifwherel2if.permission=201orderbyl2if.l2infid")
  15. .setFirstResult(pageNow*pageSize-pageSize)
  16. .setMaxResults(pageSize)
  17. .list();
  18. session.getTransaction().commit();
  19. }catch(Exceptione){
  20. e.printStackTrace();
  21. session.getTransaction().rollback();
  22. }finally{
  23. HibernateUtils.closeSession(session);
  24. }
  25. returnlist;
  26. }
  27. publicintpageTotle(intpageSize,intpageNow){
  28. inti=0;
  29. Sessionsession=null;
  30. try{
  31. session=HibernateUtils.getSession();
  32. session.beginTransaction();
  33. //i是查询结果条数
  34. i=session.createQuery("fromLevTwoInFuUserl2ifwherel2if.permission=201orderbyl2if.l2infid")
  35. .list()
  36. .size();
  37. //用总的结果条数对每页显示的条数取余,得到总页数
  38. i=i%pageSize==0?i/pageSize:i/pageSize+1;
  39. session.getTransaction().commit();
  40. }catch(Exceptione){
  41. e.printStackTrace();
  42. session.getTransaction().rollback();
  43. }finally{
  44. HibernateUtils.closeSession(session);
  45. }
  46. returni;
  47. }
  48. }

Action处理: PageQueryAction.java

  1. packagecom.enorth.lichen.youth.act;
  2. importjava.util.List;
  3. importjava.util.Map;
  4. importjavax.servlet.http.HttpServletRequest;
  5. importorg.apache.struts2.interceptor.ServletRequestAware;
  6. importorg.apache.struts2.interceptor.SessionAware;
  7. importcom.enorth.lichen.youth.dao.PageDao;
  8. importcom.opensymphony.xwork2.ActionSupport;
  9. publicclassPageQueryActionextendsActionSupportimplementsServletRequestAware,SessionAware{
  10. privateHttpServletRequestrequest;
  11. privateListlist;
  12. privateintpageNow=1;//初始化为1,默认从第一页开始显示
  13. privateintpageSize=3;//每页显示3条记录
  14. privateintpageTotle=1;//总页数
  15. privatePageDaopageDao=newPageDao();
  16. publicListgetList(){
  17. returnlist;
  18. }
  19. publicvoidsetList(Listlist){
  20. this.list=list;
  21. }
  22. publicintgetPageNow(){
  23. returnpageNow;
  24. }
  25. publicvoidsetPageNow(intpageNow){
  26. this.pageNow=pageNow;
  27. }
  28. publicintgetPageSize(){
  29. returnpageSize;
  30. }
  31. publicvoidsetPageSize(intpageSize){
  32. this.pageSize=pageSize;
  33. }
  34. publicintgetPageTotle(){
  35. returnpageTotle;
  36. }
  37. publicvoidsetPageTotle(intpageTotle){
  38. this.pageTotle=pageTotle;
  39. }
  40. @Override
  41. publicStringexecute()throwsException{
  42. //得到每页显示的对象的集合list
  43. list=pageDao.pageQuery(pageSize,pageNow);
  44. //得到总页数pageTotle
  45. pageTotle=pageDao.pageTotle(pageSize,pageNow);
  46. returnSUCCESS;
  47. }
  48. @Override
  49. publicvoidsetServletRequest(HttpServletRequestrequest){
  50. //TODOAuto-generatedmethodstub
  51. this.request=request;
  52. }
  53. @Override
  54. publicvoidsetSession(Maparg0){
  55. //TODOAuto-generatedmethodstub
  56. }
  57. }

查询分页页面: page.jsp

  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>
  2. <%
  3. Stringpath=request.getContextPath();
  4. StringbasePath=request.getScheme()+"://"
  5. +request.getServerName()+":"+request.getServerPort()
  6. +path+"/";
  7. %>
  8. <%@taglibprefix="s"uri="/struts-tags"%>
  9. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  10. <html>
  11. <head>
  12. <SCRIPTtype="text/javascript"src="js/calendar.js"></SCRIPT>
  13. <basehref="<%=basePath%>">
  14. <title>分页</title>
  15. <metahttp-equiv="pragma"content="no-cache">
  16. <metahttp-equiv="cache-control"content="no-cache">
  17. <metahttp-equiv="expires"content="0">
  18. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  19. <metahttp-equiv="description"content="Thisismypage">
  20. <!--
  21. <linkrel="stylesheet"type="text/css"href="styles.css">
  22. -->
  23. </head>
  24. <body>
  25. <tableborder="1">
  26. <tr>
  27. <th>
  28. 用户编号
  29. </th>
  30. <th>
  31. 真实姓名
  32. </th>
  33. <th>
  34. 注册时间
  35. </th>
  36. </tr>
  37. <!--迭代查询-->
  38. <s:iteratorvalue="list">
  39. <tr>
  40. <td>
  41. <s:propertyvalue="l2infid"/>
  42. </td>
  43. <td>
  44. <s:propertyvalue="realname"/>
  45. </td>
  46. <td>
  47. <s:propertyvalue="registime"/>
  48. </td>
  49. </tr>
  50. </s:iterator>
  51. </table>
  52. <!--首页-->
  53. <s:urlid="url_first"value="page.action">
  54. <s:paramname="pageNow"value="1"></s:param>
  55. </s:url>
  56. <!--上一页-->
  57. <s:urlid="url_pre"value="page.action">
  58. <s:paramname="pageNow"value="pageNow-1"></s:param>
  59. </s:url>
  60. <!--下一页-->
  61. <s:urlid="url_next"value="page.action">
  62. <s:paramname="pageNow"value="pageNow+1"></s:param>
  63. </s:url>
  64. <!--末页-->
  65. <s:urlid="url_last"value="page.action">
  66. <s:paramname="pageNow"value="pageTotle"></s:param>
  67. </s:url>
  68. <!--如果不是首页则提供首页的链接,如果是首页则不提供链接,以下类似-->
  69. <s:iftest="pageNow!=1">
  70. [<s:ahref="%{url_first}">首页</s:a>]
  71. </s:if>
  72. <s:else>
  73. [首页]
  74. </s:else>
  75. <s:iftest="pageNow>1">
  76. [<s:ahref="%{url_pre}">上一页</s:a>]
  77. </s:if>
  78. <s:else>
  79. [上一页]
  80. </s:else>
  81. <!--for循环,current是循环变量(org.apache.struts2.util.Counter里定义的)-->
  82. <s:beanname="org.apache.struts2.util.Counter"id="i">
  83. <s:paramname="first"value="1"/>
  84. <s:paramname="last"value="%{pageTotle}"/>
  85. <s:iterator>
  86. <s:iftest="pageNow+1==current">
  87. <fontcolor="#3f84ff"><b><s:property/></b></font>
  88. </s:if>
  89. <s:else>
  90. <s:ahref="page.action?pageNow=%{current-1}"><fontcolor="#2fa2ff"><s:property/></font></s:a>
  91. </s:else>
  92. </s:iterator>
  93. </s:bean>
  94. <s:iteratorvalue="list"status="status">
  95. <s:urlid="url"value="page.action">
  96. <s:paramname="pageNow"value="pageNow"/>
  97. <s:paramname="pageTotle"value="pageTotle"/>
  98. </s:url>
  99. </s:iterator>
  100. <s:iftest="pageTotle>pageNow">
  101. [<s:ahref="%{url_next}">下一页</s:a>]
  102. </s:if>
  103. <s:else>
  104. [下一页]
  105. </s:else>
  106. <s:iftest="pageTotle!=pageNow">
  107. [<s:ahref="%{url_last}">末页</s:a>]
  108. </s:if>
  109. <s:else>
  110. [末页]
  111. </s:else>
  112. </body>
  113. </html>

分享到:
评论

相关推荐

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

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

    Struts2 + Hibernate 分页程序实例

    ### Struts2 + Hibernate 分页程序实例解析 #### 一、项目环境搭建 根据所提供的信息来看,本案例涉及到了一个基于Struts2与Hibernate技术栈的分页查询系统开发。项目构建所需的主要软件及版本包括: 1. **...

    Struts2+HIBERNATE实现分页(完整讲解)

    【Struts2+Hibernate实现分页详解】 在Java Web开发中,Struts2和Hibernate是两个非常重要的框架,它们分别负责MVC模式中的控制层和持久层。Struts2提供了强大的Action类和拦截器,使得业务逻辑处理更加简洁;而...

    struts1+hibernate分页

    本文将详细介绍如何在Struts1和Hibernate结合的项目中实现分页功能。 一、Struts1框架简介 Struts1是Apache软件基金会的一个开源项目,它提供了MVC架构来设计Web应用程序。在Struts1中,Action类是业务逻辑的核心,...

    struts2+hibernate(文件批量上传至数据库+Ajax分页显示)

    总之,这个项目展示了如何将Struts2和Hibernate结合使用,以实现文件批量上传到数据库以及Ajax分页显示的功能。通过学习这个项目,开发者可以深入理解Java Web开发中的MVC模式、ORM框架以及前端动态加载技术。

    spring+struts2+hibernate整合实现分页

    在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...

    struts2.0 + hibernate + oracle 分页问题

    通过阅读和学习这些代码,你可以了解到如何将Struts2的请求处理与Hibernate的数据库操作结合,以实现基于Oracle的分页功能。 总结来说,Struts2.0处理HTTP请求,Hibernate管理数据持久化,而Oracle提供高效的数据...

    struts2+hibernate增删改查+分页

    综上所述,"struts2+hibernate增删改查+分页"是一个基础的Java Web开发示例,它涵盖了MVC架构下,如何利用Struts2处理用户请求,通过Hibernate进行数据库操作,以及实现简单的分页功能。这种组合在实际项目中非常...

    struts2+spring2+hibernate3注册查询搜索分页实例

    总的来说,这个"Struts2+Spring2+Hibernate3注册查询搜索分页实例"是一个很好的学习资源,涵盖了Java Web开发中的基础和核心部分。通过学习这个实例,开发者不仅可以掌握三大框架的基本用法,还能了解到如何将它们...

    ext3+struts2+hibernate+spring的CRUD+分页

    "ext3+struts2+hibernate+spring的CRUD+分页"是一个典型的Java Web开发组合,用于实现全面的数据管理功能。这个组合充分利用了各个框架的优势,提供了一个强大的后端数据处理和前端展示的解决方案。 首先,EXT3是一...

    struts2+hibernate+spring分页

    在"struts2+hibernate+spring分页"的场景中,Struts2将处理分页请求,接收页码、每页显示数量等参数,并调用服务层的方法来获取特定页的数据。 Hibernate是一个持久化框架,它简化了数据库操作,通过ORM(对象关系...

    struts2 + spring 3 + hibernate3.3整合实现图书馆管理管理

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...

    struts2+spring+hibernate分页显示

    struts2+spring+hibernate分页显示 分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难...

    基于JSP+Struts2+hibernate的个人博客系统

    **基于JSP+Struts2+Hibernate的个人博客系统** 在Web开发领域,构建一个功能完善的个人博客系统是一项常见的任务,而使用JSP、Struts2和Hibernate这三种技术的组合,可以创建出高效且易于维护的解决方案。下面将...

    struts2+hibernate模仿分页效果

    ### Struts2+Hibernate 实现分页效果详解 在 Web 开发中,为了提升用户体验、减少服务器负担,分页功能的应用十分广泛。本篇将基于一个具体的案例——使用 Struts2 和 Hibernate 模块实现分页功能,进行深入剖析。 ...

    struts+hibernate分页

    简单实现struts2+hibernate分业

    Struts+Hibernate实现分页

    本篇将介绍如何使用Struts和Hibernate框架来实现Web应用中的分页功能。 首先,Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它负责处理用户请求并控制应用程序的流程。而Hibernate则是一...

    struts2+spring+hibernate分页实例

    这是一个struts2+hibernate+spring整合的实例,带有分页功能,希望对刚接触struts2的朋友有些帮助。spring2.0,hibernate3.1分页用的是自字义标签,不要少了这个包standard.jar

    struts+hibernate做的分页显示

    在这个项目中,"struts+hibernate做的分页显示"主要是利用这两者来实现数据的分页展示,提升用户体验,降低服务器压力。 首先,Struts是一个基于MVC设计模式的Java Web框架,它简化了开发过程,提供了处理HTTP请求...

Global site tag (gtag.js) - Google Analytics