Java中有没有很好的分页控件呢

解决方案 »

  1.   

    可用extremetable,功能强大,使用简单,支持后台分页,排序。简单的示例(JSP):<% 
    List countries = new ArrayList(); 
    for (int i = 1; i <= 10; i++) 

    Map cinfo = new java.util.HashMap(); 
    cinfo.put("cno", "coutry"+i); 
    cinfo.put("cname", "国家"+i); 
    cinfo.put("area", "所在州"+i); 
    cinfo.put("born",new Date()); 
    countries.add(cinfo); 

    request.setAttribute("cinfos", countries); 
    %> <ec:table 
    items="cinfos" 
    action="${pageContext.request.contextPath}/index.jsp" 
    imagePath="${pageContext.request.contextPath}/images/table/*.gif" 
    cellpadding="1" 
    title="您好!这是eXtremeTable的一个测试例子"> 
    <ec:row highlightRow="true"> 
    <ec:column property="cno"/> 
    <ec:column property="cname"/> 
    <ec:column property="area"/> 
    <ec:column property="born" cell="date" format="yyyy-MM-dd"/> 
    </ec:row> 
    </ec:table>
      

  2.   

    valueList是我们实验室用的开源组件,其功能不仅仅在分页上啦
      

  3.   

    给你推荐个js分页控件,Dojo,很强大的
    var g = new dojox.grid.EnhancedGrid({
    //……其他配置省略
    plugins: {
    pagination: {
    pageSizes: ['5', '10', '20', 'All'], //注意必须是字符串,至于理由,不要问我…
    maxPageStep: 5, //在右边最多显示几页
    itemTitle: 'items', //默认把每一行称作一个item,当然可以改成别的
    descTemplate: '${2} - ${3} of ${1} ${0}'
    //这个比较复杂,${0}就是刚才的itemTitle,${1}是总行数,${2}和${3}分别是起止行。
    description: true, //如果设置成False,就没有最左边的描述信息了
    sizeSwitch: true, //如果设置成False,中间的行数切换就没了
    pageStepper: true //如果设置成False,右边的页面切换也省了
    }
    }
    });
      

  4.   

    var g = new dojox.grid.EnhancedGrid({
    //……其他配置省略
    plugins: { pagination: true //当然,也可以是空对象{}
    }
    });<script type="text/javascript" src="./dojo/dojo.js" djConfig="isDebug:false, parseOnLoad: true, locale: 'zh'"></script>DOJO中文博客,CSDN
    http://blog.csdn.net/dojotoolkit/
      

  5.   

    ext分页,不过也许有点复杂...
      

  6.   

    使用hibernate的query啊!
    curpage-当前页
    maxcount-你要去几条数据
    @SuppressWarnings("unchecked")
    public List<TblSr> list(int id, final int curpage,final int maxcount) {
    final String  hql=" from TblSr sr where sr.tblUser.id ="+id;

    return (List<TblSr>)getHibernateTemplate().execute(new HibernateCallback() {
    public Object doInHibernate(Session session) throws HibernateException,
    SQLException {
    Query query=session.createQuery(hql);
    query.setFirstResult((maxpage-1)*curpage);
    query.setMaxResults(maxpage);
    return query.list();
    }
    });
    }
      

  7.   

    分页控件主要在Dao,还有前台和后台怎样交互,如果没有特殊要求,可以通过开源框架实现,Dao可以通过Hibernate或者MyBatis实现,当然对JDBC熟悉也OK,前后台交互可以用户开源UI+Ajax实现