`
hnwangdan
  • 浏览: 21128 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

s2 +hi3.2 分页

阅读更多
操作数据: PageDao.java

package com.enorth.lichen.youth.dao;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Session;

import com.enorth.lichen.youth.hi.HibernateUtils;

public class PageDao {

    public List pageQuery(int pageSize, int pageNow){
        
         List list=new ArrayList();
        Session session = null;
        try {
            session = HibernateUtils.getSession();
            session.beginTransaction();
            
            //得到每页显示的LevTwoInFuUser的对象的集合list
            list = session.createQuery("from LevTwoInFuUser l2if where l2if.permission = 201 order by l2if.l2infid")
                                    .setFirstResult(pageNow*pageSize-pageSize)
                                    .setMaxResults(pageSize)
                                    .list();
            session.getTransaction().commit();
        }catch(Exception e) {
            e.printStackTrace();
            session.getTransaction().rollback();
        }finally {
            HibernateUtils.closeSession(session);
        }
        return list;
    }
    
    
    public int pageTotle(int pageSize, int pageNow){
        
        int i=0;
        Session session = null;
        try {
            session = HibernateUtils.getSession();
            session.beginTransaction();
            
            //i是查询结果条数
            i = session.createQuery("from LevTwoInFuUser l2if where l2if.permission = 201 order by l2if.l2infid")
                                    .list()
                                    .size();
            
            //用总的结果条数对每页显示的条数取余,得到总页数
            i=i%pageSize==0?i/pageSize:i/pageSize+1  ;
            
            session.getTransaction().commit();
        }catch(Exception e) {
            e.printStackTrace();
            session.getTransaction().rollback();
        }finally {
            HibernateUtils.closeSession(session);
        }
        return i;
    }
}






Action处理: PageQueryAction.java



package com.enorth.lichen.youth.act;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;

import com.enorth.lichen.youth.dao.PageDao;
import com.opensymphony.xwork2.ActionSupport;

public class PageQueryAction extends ActionSupport implements ServletRequestAware,SessionAware{

    private HttpServletRequest request;
    private List list;
    private int pageNow = 1 ; //初始化为1,默认从第一页开始显示
    private int pageSize = 3 ; //每页显示3条记录
    private int pageTotle= 1 ;//总页数

    private PageDao pageDao = new PageDao () ;
    

    public List getList() {
        return list;
    }

    public void setList(List list) {
        this.list = list;
    }

    public int getPageNow() {
        return pageNow;
    }

    public void setPageNow(int pageNow) {
        this.pageNow = pageNow;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getPageTotle() {
        return pageTotle;
    }

    public void setPageTotle(int pageTotle) {
        this.pageTotle = pageTotle;
    }

    @Override
    public String execute() throws Exception {
        
        //得到每页显示的对象的集合list
        list  = pageDao.pageQuery(pageSize, pageNow);
        
        //得到总页数pageTotle
        pageTotle=pageDao.pageTotle(pageSize, pageNow);
        
        return SUCCESS;
    }

    
    @Override
    public void setServletRequest(HttpServletRequest request) {
        // TODO Auto-generated method stub
        this.request=request;
    }

    @Override
    public void setSession(Map arg0) {
        // TODO Auto-generated method stub
        
    }
    
}









查询分页页面: page.jsp





<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <SCRIPT type="text/javascript" src="js/calendar.js"></SCRIPT>
        <base href="<%=basePath%>">
        <title>分页</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    </head>

    <body>
        <table border="1">
            <tr>
                <th>
                    用户编号
                </th>
                <th>
                    真实姓名
                </th>
                <th>
                    注册时间
                </th>
            </tr>

            <!-- 迭代查询 -->
            <s:iterator value="list">
                <tr>
                    <td>
                        <s:property value="l2infid" />
                    </td>
                    <td>
                        <s:property value="realname" />
                    </td>
                    <td>
                        <s:property value="registime" />
                    </td>
                </tr>
            </s:iterator>
        </table>

        <!-- 首页 -->
        <s:url id="url_first" value="page.action">
            <s:param name="pageNow" value="1"></s:param>
        </s:url>
        <!-- 上一页 -->
        <s:url id="url_pre" value="page.action">
            <s:param name="pageNow" value="pageNow-1"></s:param>
        </s:url>
        <!-- 下一页 -->
        <s:url id="url_next" value="page.action">
            <s:param name="pageNow" value="pageNow+1"></s:param>
        </s:url>
        <!-- 末页 -->
        <s:url id="url_last" value="page.action">
            <s:param name="pageNow" value="pageTotle"></s:param>
        </s:url>

        <!-- 如果不是首页则提供首页的链接,如果是首页则不提供链接,以下类似 -->
        <s:if test="pageNow != 1">
            [<s:a href="%{url_first}">首页</s:a>]     
        </s:if>
        <s:else>
            [首页]
        </s:else>

        <s:if test="pageNow>1">
            [<s:a href="%{url_pre}">上一页</s:a>] 
        </s:if>
        <s:else>
            [上一页] 
        </s:else>

        <!-- for循环, current是循环变量(org.apache.struts2.util.Counter里定义的)-->
        <s:bean name="org.apache.struts2.util.Counter" id="i">
            <s:param name="first" value="1" />
            <s:param name="last" value="%{pageTotle}" />
            <s:iterator>
                <s:if test="pageNow+1== current">
                    <font color="#3f84ff"><b><s:property /></b></font>
                </s:if>
                <s:else>
                    <s:a href="page.action?pageNow=%{current-1}"> <font color="#2fa2ff"><s:property /></font></s:a>
                </s:else>
            </s:iterator>
        </s:bean>

        <s:iterator value="list" status="status">
            <s:url id="url" value="page.action">
                <s:param name="pageNow" value="pageNow" />
                <s:param name="pageTotle" value="pageTotle" />
            </s:url>
        </s:iterator>

        <s:if test=" pageTotle > pageNow ">
            [<s:a href="%{url_next}">下一页</s:a>]
        </s:if>
        <s:else>
            [下一页]
        </s:else>

        <s:if test="pageTotle != pageNow">
            [<s:a href="%{url_last}">末页</s:a>]
        </s:if>
        <s:else>
            [末页]
        </s:else>

    </body>
</html>


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lc19850921/archive/2009/01/07/3727388.aspx
分享到:
评论

相关推荐

    S2+S2+H3.2(API)

    这个名为"S2+S2+H3.2(API)"的压缩包文件,其内容很可能是这三大框架的API文档或者相关教程资料,帮助开发者理解和使用这些技术。下面我们将详细探讨这三个框架的核心概念和主要功能。 **Struts2** 是一个基于MVC...

    Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3 开发示例

    Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例代码。 其中包括如下文件: 介绍文档 Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例.docx Eclipse工程文件 SSH2.zip Zip包是Eclipse...

    struts2+spring2.0+hibernate3.2+Security2.0+全部jar包

    struts2+spring2.0+hibernate3.2+Security2.0的demo程序 里面带有 mysql的 DBdump, 可以直接导入DB S2SH的整合使用注解的方式 里面包括全部的jar包

    struts2.0+spring2.5+Hibernate3.2

    在S2SH3集成中,Spring负责管理所有组件的生命周期,包括Struts2的Action和Hibernate的SessionFactory。Struts2的动作跳转和结果处理可以通过Spring的依赖注入来完成,而Hibernate则作为数据持久化层,负责数据库...

    sturts2.3.15.1+Spring3.2+hibernate3.6整合

    在这个整合项目中,S2Sh可能代表Struts2-Spring-Hibernate的整合包,包含了一些基本的配置文件(如struts.xml、spring-context.xml、hibernate.cfg.xml)、模型类、DAO(Data Access Object)层、Service层以及...

    S2SH: Struts2.3+hibernate4+spring3.2整合实例

    该项目用的是struts-2.3.15,hibernate-release-4.2.3.Final,spring-framework-3.2.3 来进行整合的!希望对大家有帮助,特别是刚接触hibernate4的~带有sql文件,方便创建例子用到的数据库。

    struts2.2.3+spring2.5+hibernate3.2事务

    Struts2.2.3、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,被广泛用于构建企业级应用。这个压缩包文件名中的"事务"指的是在这些框架下实现的数据库事务管理。在Java应用中,事务管理是确保数据一致性、...

    struts2.1 + hibernate3.2+spring2.5整合视频

    Struts2.1、Hibernate3.2和Spring2.5是Java Web开发中经典的MVC框架集成,被誉为“S2SH”组合。这个整合视频教程旨在帮助开发者掌握这三大框架的协同工作,提升Web应用的开发效率和质量。 Struts2作为Action层框架...

    Struts2.1.6+Spring2.0+Hibernate3.2的jar包

    这个s2sh-jar压缩包可能包含以下组件的jar文件: 1. Struts2的核心库,如struts2-core.jar,用于处理请求和响应。 2. Spring的核心模块,如spring-context.jar、spring-beans.jar等,提供依赖注入和上下文管理。 3. ...

    SSH实用整合例子,Struts2+spring2.5+Hibernate3.2

    这三个框架的集成,即S2SH,能够实现MVC(模型-视图-控制器)架构,提供数据持久化、业务逻辑处理和用户界面管理的一站式解决方案。 Struts2作为MVC框架,主要负责控制应用程序的流程,它通过Action类和配置文件来...

    struts2.3+spring3.2+mybatis3.1整合注释行事务处理(含jar包)

    在这个项目中,我们看到的是一个基于Struts2.3、Spring3.2和MyBatis3.1的集成应用,其中使用了注释式的事务管理。 首先,让我们来详细了解一下这三个框架: 1. **Struts2**:这是一个基于MVC设计模式的Java Web...

    AD批量生产PCB-STC15F2K60S2 + QN8025+M62429+红外

    标题中的“AD批量生产PCB-STC15F2K60S2 + QN8025+M62429+红外”指的是一项利用Altium Designer(AD)软件进行的批量PCB生产项目,其中包含了几个关键电子元件:STC15F2K60S2微控制器、QN8025调频接收器、M62429电源...

    S2SH购物车+HibernateTemplate分页

    总的来说,"S2SH购物车+HibernateTemplate分页"项目是一个综合性的学习资源,涵盖了Java Web开发中的关键技术和实践,对于理解SSH框架的整合和实际应用具有很高的参考价值。通过这个项目,开发者可以深入理解如何在...

    sysUser S2SH 框架+分页+ajax用户时实验证

    本项目标题"sysUser S2SH 框架+分页+ajax用户时实验证"揭示了几个关键的技术点,我们将详细探讨这些知识点。 1. **Struts2框架**:Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,负责...

    ACCP+S2+复习资料(超全)

    "ACCP+S2+复习资料(超全)"这个标题表明这是一份全面的复习资源,主要针对ACCP(Advanced Certified Cryptography Professional)和S2(可能是某个特定课程或认证的缩写,具体含义未明确)的学习者。这些资料可能是...

    S2SH+MySql做的分页

    本项目以"S2SH+MySql"(即Struts2、Hibernate、Spring与MySQL数据库)为基础,实现了分页功能,下面将详细介绍这一技术及其实施过程。 首先,Struts2是Java企业级开发中的一个MVC框架,负责处理用户请求并转发到...

    struts2+hibernate3+spring3分页

    这个分页项目结合了这三个框架,实现了数据的高效分页显示,同时使用MySQL作为后端数据库。下面将详细讲解SSH框架分页的核心概念和技术实现。 **Struts2** 是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架...

    (仿铁路网上售票系统+google数字分页)S2SH 的小项目

    【标题】:“(仿铁路网上售票系统+google数字分页)S2SH 的小项目”指的是一款基于S2SH框架开发的模拟铁路网上售票系统的应用程序。S2SH是Struts2、Spring和Hibernate三个开源Java框架的组合,常用于构建企业级Web...

    spring3.2jar包SSH整合

    自己整理的jar包,新手也可用,都分类好了,Struts1.2+spring3.2+hibernate3.1就用S1SH文件夹的jar包...Struts2+Spring3.2+hibernate3.1就用S2SH文件夹的jar包;SpringMVC+Hibernate3.1就用SpringMVC+H文件夹下的jar。

    S2SH+分页

    在S2SH项目中实现分页,通常涉及以下几个步骤: 1. **Struts2配置**:在Struts2的配置文件(struts.xml)中,定义一个用于分页的Action,设置对应的Action方法和结果视图。 2. **Spring管理Bean**:创建一个Service...

Global site tag (gtag.js) - Google Analytics