⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paginatenewversion.java

📁 ssh整合在一起的例子.适合初学者,希望对大家能有一定的帮助作用
💻 JAVA
字号:
package com.softdevelopstudio.util;

import java.io.*;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class PaginateNewVersion extends TagSupport {
    private int all = 0; //总计多少条记录
    private int perpage = 1; //每页多少条
    private int current = 1; //当前第几页
    private int intTotalPages = 0; //总页数
    private String context; //上下文环境
    private String flag; //判断是前台还是后台分页
    private int perSegment = 5; //每页显示页码数
    private int currentSegment = 0; //当前页所在的段,从0开始

    public void initial() {
        int intTemp = 0;
        all = all < 0 ? 0 : all;
        perpage = perpage < 1 ? 1 : perpage;
        current = current < 1 ? 1 : current;

        currentSegment = Math.round((current - 0.1f) / perSegment - 0.5f);

        intTemp = all / perpage;
        intTotalPages = (all % perpage == 0) ? intTemp : intTemp + 1;
        if (current > intTotalPages) {
            current = intTotalPages;
        }

    }

    public int doStartTag() throws JspException {
        this.initial();
        try {
            this.pageContext.getOut().println(print());
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        return SKIP_BODY;
    }

    public int doEndTag() throws JspException {
        return EVAL_PAGE;
    }

    /**
     * print the pagination
     */
    public String print() {
        String strFirst = "<img align=\"center\" border=0 height=20 src=\"" +
                          context + "/images/arrow_first.gif\">";
        String strPrev = "<img align=\"top\" border=0 src=\"" +
                         context + "/images/previous_page.gif\" >";
        String strNext = "&nbsp;<img align=\"top\" border=0 src=\"" +
                         context + "/images/next_page.gif\">";
        String strLast = "<img align=\"center\" border=0 height=20 src=\"" +
                         context + "/images/arrow_las.gif\">";
        String strSpace = "&nbsp;";
        StringBuffer sb = new StringBuffer("");
        sb.append("<form name=innerForm>");
        sb.append("<input type=\"hidden\" name=\"mhd\" value=\"toList\"/>");
        if (flag != null && !flag.equals("")) {
            sb.append(
                    "<input type=\"hidden\" name=\"flag\" value=\"gateway\"/>");
        }
        sb = sb.append(
                "<table  width=\"%100\" border=0 cellpadding=0 cellspacing=0 height=18>\n");
        sb = sb.append("     <tbody>\n");
        sb = sb.append("       <tr>\n");
        sb = sb.append("         <td align=right width=\"100%\"><span class=\"font12g18h\"><font color=#333333>.:&nbsp;共找到&nbsp;" +
                       all + "&nbsp; 笔记录&nbsp;  [&nbsp;" + current + " / " +
                       intTotalPages + "&nbsp;]</font></span>\n");

        sb.append(strSpace);
        //生成下拉页面
        String str = this.generatePageList();
        sb = sb.append(str);
        sb.append(strSpace);
        sb.append(strSpace);

        sb = sb.append(strSpace);

        if (current > 1) {
            sb = sb.append("<a href='javascript:go(" + (current - 1) + ");'>" +
                           strPrev + "</a>");
        } else {
            sb = sb.append(strPrev);
        }
        sb = sb.append(strSpace);

        int prevPage = currentSegment * perSegment;
        if (currentSegment > 0) {
            sb = sb.append("<label class=font12g18h><a href='javascript:go(" + prevPage +
                           ");'><<</a></label>");
        } else {
            sb = sb.append("<label class=font12g18h><<</label>");
        }

        str = this.generatePageArray();
        sb = sb.append(str);
        sb.append(strSpace);
        sb.append(strSpace);

        int nextPage = (currentSegment + 1) * perSegment + 1;
        int totalSegment = Math.round((intTotalPages - 0.1f) / perSegment -
                                      0.5f);
        if (currentSegment < totalSegment) {
            sb = sb.append("<label class=font12g18h><a href='javascript:go(" + nextPage +
                           ");'>>></a></label>");
        } else {
            sb = sb.append("<label class=font12g18h>>></label>");
        }

        if (current < intTotalPages) {
            sb = sb.append("<a href='javascript:go(" + (current + 1) +
                           ");'>" +
                           strNext + "</a>");
        } else {
            sb = sb.append(strNext);
        }
        sb = sb.append(strSpace);
        sb = sb.append("         </td>\n");
        sb = sb.append("       </tr>\n");
        sb = sb.append("       </tbody>\n");
        sb = sb.append("</table>\n");
        sb.append("</form>");
        return sb.toString();
    }

    /**
     * 生成分页的下拉页面
     * @return String
     */
    public String generatePageList() {
        String str = "<font color=#333333><select name=\"page\" onChange=\"change(document.innerForm.page.options[document.innerForm.page.selectedIndex].value)\" > ";
        str += "<option value=\"1\">请选择</option>";
        for (int i = 1; i <= intTotalPages; i++) {
            str = str + "<option value=" + i + ">" + i + "</option>";
        }
        str += "</select></font>";
        return str;
    }

    public String generatePageArray() {
        int begin = 1;
        begin = currentSegment * perSegment + 1;
        int end = (begin + perSegment - 1) < intTotalPages ?
                  (begin + perSegment - 1) : intTotalPages;
        String str = "";
        for (int i = begin; i <= end; i++) {
            if (i == current) {
                str = str + "<strong class='font12g18h'>" + i + "</strong>";
            } else {
                str = str + "<label class=font12g18h>" +"<a href='javascript:go(" + i + ");'>"  +i + "</a></label>";
            }
            if (i < end) {
                str += " ";
            }
        }
        return str;
    }

//   public String generatePageArray() {
//       String str = "";
//       for (int i = 1; i <= intTotalPages; i++) {
//           str = str + "<input size=1 align=center readonly=true value=" + i + ">" + i + "</input>";
//       }
//
//       return str;
//   }


    public void setAll(int all) {
        this.all = all;
    }

    public void setPerpage(int perpage) {
        this.perpage = perpage;
    }

    public void setCurrent(int current) {
        this.current = current;
    }

    public void setContext(String context) {
        this.context = context;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public int getAll() {
        return all;
    }

    public int getPerpage() {
        return perpage;
    }

    public int getCurrent() {
        return current;
    }

    public String getContext() {
        return context;
    }

    public String getFlag() {
        return flag;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -