首页|上一页|1|2|3|4|5|6|下一页|末页 首尾我都实现了  就这中间|1|2|3|4|5|6|这怎么控制啊 吗,每页显示6个数字连接 当我点击 6的时候变成 下一个|7|8|9|10|11|12|  什么思路  说详细一点  最好有代码

解决方案 »

  1.   


    public class PageIndex {    private long startindex;    private long endindex;    public PageIndex(long startindex, long endindex) {
            this.startindex = startindex;
            this.endindex = endindex;
        }    public long getStartindex() {
            return startindex;
        }    public void setStartindex(long startindex) {
            this.startindex = startindex;
        }    public long getEndindex() {
            return endindex;
        }    public void setEndindex(long endindex) {
            this.endindex = endindex;
        }    public static PageIndex getPageIndex(long viewpagecount, int currenPage, long totalpage) {
            long startpage = currenPage - (viewpagecount % 2 == 0 ? viewpagecount / 2 - 1 : viewpagecount / 2);
            long endpage = currenPage + viewpagecount / 2;
            if (startpage < 1) {
                startpage = 1;
                if (totalpage >= viewpagecount) endpage = viewpagecount;
                else endpage = totalpage;
            }
            if (endpage > totalpage) {
                endpage = totalpage;
                if ((endpage - viewpagecount) > 0) startpage = endpage - viewpagecount + 1;
                else startpage = 1;
            }
            return new PageIndex(startpage, endpage);
        }}
      

  2.   

    在你的pageBean中添加一个数组或集合属性如pageForm,,,用来放置页码范围
    当你后台取数据后,不是要去为pageBean的某些参数重新赋值嘛,比如当前页
    这个时候可以利用我上面给你说的逻辑,去为这个pageForm赋值。。然后页面上将页码pageForm显示出来就OK了。具体逻辑:
    根据当前页和每页6个数字把当前页取出来【实际显示的当前页要+1,表示从1开始】,先和6相除,取整数,然后和6取余数如果余数等于0,那你的页码范围就是: 用当前页-(1,2,3,4,5,6)
    如果余数不等于0,那么你的页码范围就是:(相除的整数*6)+(1,2,3,4,5,6)
      

  3.   

    思路就是:关键两个数字,当前页码(curN)\总页码(totalN).
    现在页码获取到了curN,
    如果curN+6>totalN :界面展示"上一页 curN+1 | curN+2 ..... | totalN "
    如果curN+6<=totalN:界面展示"上一页 curN+1 | curN+2 ..... | curN+6 |下一页"
    另外"上一页""下一页"还可以根据curN是否为1和totalN来判断是否有要显示
      

  4.   

    给段php代码,自己改改成java吧
    function showPage($curpage,$step=6){
    $start = 1; $mod = $curpage % $step;
    $sh = (int)($curpage / $step) ;

    if($mod == 0){
    $start = $sh * $step + $start;
    }else if($mod > 0 && $mod < $step){
    $start = $sh * $step + $start;
    }
    for($i = $start; $i < $start + $step ; $i++){
    echo "<a href=>$i</a>&nbsp;&nbsp";
    }
    echo "<br/>";
    }
    showPage(2);
    showPage(6);
    showPage(20);