`
sky_yangwang
  • 浏览: 51519 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ssh+公共分页

阅读更多

 

1jsp页面:

一般的数据绑定,<s:iterator

加入分页数据,

<s:div><s:property value="pageParam"/>  <s:property value="pageStr"  escape="false"/></s:div>

 

2Action

public String list() {

    

DaoDemoUtils.buildJndi();

ApplicationContext ac = new ClassPathXmlApplicationContext("/dao/datasource-context-dao.xml");

NewsDao newsDao = (NewsDao) ac.getBean("NewsDao");

PublicMethodDao publicMethodDao = (PublicMethodDao) ac.getBean("PublicMethodDao");

int pageSizeDefault = 2;//从xml中获取,页面可以设置大小,全局数字。

List list2 = newsDao.getAll();

int recordcount =  list2.size();//总记录数

int pageIndex = 1;//默认第1页;

HttpServletRequest request=ServletActionContext.getRequest();

if(request.getParameter("pageIndex")!=null)

{

pageIndex  = Integer.parseInt(request.getParameter("pageIndex")); //页码参数;

}

String pram ="";  //查询参数;暂空;

int pageCount = recordcount % pageSizeDefault == 0 ? recordcount / pageSizeDefault : recordcount / pageSizeDefault + 1;

if(pageCount>1)

{

pageParam = "总记录:" + recordcount + ",页码:" + pageIndex + "/" + pageCount + ";";

pageStr = getPageStyleService().pageList(pageCount,pageSizeDefault,pageIndex,pram);//公共分页样式;

}

        

String modleName = "News";

List<Object> list =  publicMethodDao.getPageByPram(modleName, pageSizeDefault, pageIndex);//公共查询方法;

ActionContext.getContext().put("newss", list);

return "success";

    }

 

公共分页样式:

public class PageStyleService {

//公共分页样式方法

    public int setViewPageNumber = 5;  //设定前后显示的页码数

    public int viewPageNumber = 0;  //实际显示的页码数

    public int startPage = 0;  //实际显示的页码的开始数

    public int endPage = 0;  //实际显示的页码的结尾数

public String pageList(int pageCount,int pageSizeDefault,int pageIndex,String pram) {

        StringBuffer stringbuil = new StringBuffer();

        

        if (pageCount == 1)   //1页的不显示分页;

        {

            stringbuil.append("");

        }

        else  //大于1页的显示分页

        {

            if (pageCount <= setViewPageNumber)  //总页数小于等于设定向前后各显示页码的---全部显示,

            {

                viewPageNumber = pageCount;

                startPage = 1;

            }

            else  //不能完全显示页码的情况 ---省略显示;

            {

                endPage = pageCount - pageIndex;  //显示的结束页码数

                if (endPage > setViewPageNumber)

                {

                    endPage = setViewPageNumber;

                }

                

                if (pageIndex <= setViewPageNumber)

                {

                    startPage = 1;

                }

                else

                {

                    startPage = pageIndex - setViewPageNumber;   //显示的起始页码数

                }

 

                viewPageNumber = pageIndex + endPage;

            }

            if (pageIndex > 1)   //上一页的显示控制

            {

                stringbuil.append("<a href='?pageIndex=" + (pageIndex - 1) + " '><font style='TEXT-DECORATION:underline;'>上一页</font></a>");

            }

 

            for (int i = startPage; i <= viewPageNumber; i++)  //显示页面数字

            {

                //当前页面和其它页面的修饰不同;

                if (i == pageIndex)

                {

                    stringbuil.append("<font style='TEXT-DECORATION:none;color:Red;font-size:10pt'>" + i + "</font>");

                }

                else

                {

                    stringbuil.append(" <a href='?pageIndex=" + i + " '><font id='fonts' style=' color:Navy;'>[<font style='TEXT-DECORATION:underline;'>" + i + "</font>]</font></a> ");

                }

            }

            endPage = pageCount - pageIndex;

            if (endPage > setViewPageNumber)

            {

                stringbuil.append("......");

            }

            if (pageIndex < pageCount)  //下一页的显示控制

            {

                stringbuil.append("<a href='?pageIndex=" + (pageIndex + 1) + "'><font style='TEXT-DECORATION:underline;'>下一页</font></a>");

            }

        }

        return stringbuil.toString();

 

    }

}

 

公共查询方法:

public class HibernatePublicMethodDao extends HibernateDaoSupport implements PublicMethodDao{

//分页查询方法

@SuppressWarnings("unchecked")

public List<Object> getPageByPram(final String modleName, final int pageSize,final int pageindex) {

        return (List<Object>) getHibernateTemplate().execute(new HibernateCallback() {

            public List<Object> doInHibernate(Session session) throws HibernateException, SQLException {

 

StringBuffer hql = new StringBuffer();

hql.append("from "+modleName+"");

Query query =  session.createQuery(hql.toString()).

                 setFirstResult(pageSize*(pageindex-1)).

                 setMaxResults(pageSize);

return query.list();

            }

        });

    }

}

 

 

 

 

参考:---特色,分页bean的使用;

http://www.cnblogs.com/shiyangxt/archive/2008/12/06/1349099.html 

 

 

 

分享到:
评论

相关推荐

    ssh2整合实例

    项目实现了三大框架整合(含jar包), 实现了登录权限拦截 实现了分页功能 实现了公共dao 使用dbcp数据源 spring事务管理 log4j日志管理

    气泡:气泡茶的TUI组件:dango:

    当值超过元素和公共元素的宽度时,支持unicode,粘贴,就地滚动以及许多自定义选项。进展 一个简单的,可定制的进度表。 支持实体和渐变填充。 空的和填充的符文可以设置为您想要的任何值。 百分比读数是可自定义的...

    北大青鸟学士后第三单元OA办公自动化管理系统

    作者 : 使用SSH框架实现99.99999%的功能 开发工具MyEclipse6.5.1 . 先在src下的jdbc.properties中配置数据库的信息(本项目使用的是Oracle) 再使用com.chen.common包中的CreateTable.java 建表,再往用户表添加一个...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

    JAVA上百实例源码以及开源项目源代码

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

    java开源包1

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包11

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包2

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包3

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包6

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包5

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包10

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包4

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包8

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包7

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包9

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包101

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    Java资源包01

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

Global site tag (gtag.js) - Google Analytics