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

📄 pagetag.java~2~

📁 JBuilder 2006 +SQL Server2000 +JavaBean+JSP开发的宠物医院管理系统
💻 JAVA~2~
字号:
package com.pet.util;

import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import java.io.*;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;

public class PageTag extends TagSupport {
    //该变量存当前页码的值
    String pageIndexSessionName = "";
    //该变量存表的记录总数的值
    String rowCountSessionName = "";
    //该变量存有每页显示多少记录的值
    String pageNumberSessionName = "";
    //每页记录数
    int pagePerNumber = 0;
    //表的总记录数
    int pageAllNumber = 1;
    //当前页码
    int pageCurrentIndex = 0;
    //首页索引
    int pageFirstIndex = 0;
    //上一页索引
    int pageUpIndex = 0;
    //下一页索引
    int pageDownIndex = 0;
    //末页索引
    int pageLastIndex = 0;
    //表的总页数
    int pageShowNumber = 0;
    //读取初始参数值
    public int doStartTag() throws JspException {
        HttpSession session = pageContext.getSession();
        //当前页码的值
        String currentPage = (String) session.getAttribute(
                "pageIndexSessionName");
        if (currentPage == null || currentPage.compareTo("") == 0) {
            currentPage = "0";
        }
        //转换当前页码的值给成员变量pageCurrentIndex(当前页面)
        pageCurrentIndex = Integer.parseInt(currentPage);

        //表的记录总数
        String rowCount = (String) session.getAttribute("rowCountSessionName");
        if (rowCount == null || rowCount.compareTo("") == 0) {
            rowCount = "0";
        }
        //转换表的总记录数的值给成员变量pageAllNumber
        pageAllNumber = Integer.parseInt(rowCount);

        //每页页面记录数量
        String perRecordNumber = (String) session.getAttribute(
                "pageNumberSessionName");
        if (perRecordNumber == null || perRecordNumber.compareTo("") == 0) {
            perRecordNumber = "0";
        }
        pagePerNumber = Integer.parseInt(perRecordNumber);
        //显示的页数
        if (pagePerNumber == 0) {
            pageShowNumber = 0;
        } else {
            pageShowNumber = pageAllNumber / pagePerNumber;
            if (pageAllNumber % pagePerNumber != 0) {
                pageShowNumber++;
            }
        }
        if (pageShowNumber == 0) {
            pageShowNumber = 1;
        }
        if (pageShowNumber == 0) {
            pageShowNumber = 1;
        }
        //得到首页索引
        pageFirstIndex = 0;
        //得到上一页索引
        pageUpIndex = pageCurrentIndex - 1;
        if (pageUpIndex < 0) {
            pageUpIndex = 0;
        }
        //得到下一页索引
        pageDownIndex = pageCurrentIndex + 1;
        if (pageDownIndex > pageShowNumber - 1) {
            pageDownIndex = pageShowNumber - 1;
        }
        if (pageDownIndex < 0) {
            pageDownIndex = 0;
        }
        //得到末页索引
        pageLastIndex = pageShowNumber - 1;
        if (pageLastIndex < 0) {
            pageLastIndex = 0;
        }
        //返回EVAL_BODY_INCLUDE执行doAfterBody()方法
        return EVAL_BODY_INCLUDE;
    }

    public int doAfterBody() throws JspException {

        HttpServletRequest request = (HttpServletRequest) pageContext.
                                     getRequest();
        String context = request.getContextPath();
        try {
            StringBuffer buffer = new StringBuffer();
            buffer.append(
                    "<table align='center' width='60%' cellSpacing=0 cellPadding=0 border=0>");
            buffer.append("<tbody>");
            buffer.append("<input type='hidden' name='pageIndexSessionName'>");
            buffer.append("<tr align='right'>");
            buffer.append("<td vAlign=bottom>");
            buffer.append("<a href='javascript: ");
            buffer.append("SubmitButton(");
            buffer.append(pageFirstIndex);
            buffer.append(" ) ' ");
            buffer.append("style='COLOR: #336699' ><IMG src='./common/image/p_left.gif' alt='首页' width='17' height='11'>&nbsp;&nbsp;</a>");
            buffer.append("<a href='javascript: ");
            buffer.append("SubmitButton(");
            buffer.append(pageUpIndex);
            buffer.append(" ) ' ");
            buffer.append("style='COLOR: #336699' ><IMG src='./common/image/p_last.gif' alt='上一页' width='17' height='11'>&nbsp;</a>");
            buffer.append("<a href='javascript: ");
            buffer.append("SubmitButton(");
            buffer.append(pageDownIndex);
            buffer.append(" ) ' ");
            buffer.append("style='COLOR: #336699' >&nbsp;<IMG src='./common/image/p_next.gif' alt='下一页' width='17' height='11'></a>");
            buffer.append("<a href='javascript: ");
            buffer.append("SubmitButton(");
            buffer.append(pageLastIndex);
            buffer.append(" ) ' ");
            buffer.append("style='COLOR: #336699' >&nbsp;&nbsp;<IMG src='./common/image/p_right.gif' alt='末页' width='17' height='11'></a>");
            buffer.append(
                    "共<span id=GridPage1_Lbl_U_Record style='COLOR: #336699'>");
            buffer.append(pageAllNumber);
            buffer.append(
                    "</span>项&nbsp;页次:<span id=GridPage1_Lbl_U_Page style='COLOR: #336699'>");
            buffer.append(pageCurrentIndex + 1);
            buffer.append(
                    "</span>/ <span id=GridPage1_Lbl_U_PageTotal style='COLOR: #336699'></span>");
            buffer.append(pageShowNumber);
            buffer.append("页 跳到");
            buffer.append(
                    "<input type='text' name='txtpageIndexSessionName' style='width: 30px'>页");
            buffer.append(" <input class=button id=GridPage1_btnGo type=submit value='跳 转' onclick='SubmitPress()'> ");
            buffer.append("</td></tr></tbody></table>");
            buffer.append(
                    "<script language='javascript' type='text/javascript'>");
            buffer.append("function SubmitPress(){");
            buffer.append("var theInputNumber = document.forms[0].elements['txtpageIndexSessionName'].value; ");
            buffer.append(
                    "if(isNaN(theInputNumber)){alert('请输入数字!');return false;}");
            buffer.append("else if(parseFloat(theInputNumber) == 0){alert('请输入大于零的数字!');return false;}else{");
            buffer.append("document.forms[0].elements['pageIndexSessionName'].value=parseInt(theInputNumber)-1;");
            buffer.append("document.forms[0].action=window.location;");
            buffer.append("document.forms[0].target=\"_self\";");
            buffer.append("document.forms[0].submit();}}");
            buffer.append("function SubmitButton(index){ document.forms[0].elements['pageIndexSessionName'].value=index;");
            buffer.append("document.forms[0].action=window.location;");
            buffer.append("document.forms[0].target=\"_self\";");
            buffer.append("document.forms[0].submit();}");
            buffer.append("</script>");
            JspWriter out = pageContext.getOut();
            out.print(buffer.toString());
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        return SKIP_BODY;
    }


}

⌨️ 快捷键说明

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