快速业务通道

自定义分页标签 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
e</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <description>className:用于客户端确定分页按钮的样式</description> <name>className</name> <required>false</required> </attribute> </tag> </taglib>

自定义分页标签(2)

时间:2009-12-13 BlogJava §朱家二少§

2.创建用于将标签解析为页面翻页控件的类

PagerTag.java

public class PagerTag extends TagSupport {
    public static final int USER_PAGESIZE = 5;// 礼品搜索--每页记录数
    private static final String DEFAULT_BUTTON_CLASS= "button_small"; //翻页按钮默认样式
    private static final String DISABLE_BUTTON_CLASS= "button_small_disable"; //失效按钮默认样式
    private int pagesize;
    private int rowcount;
    private int currpagenum;
    private String action;
    private String className; 
    public PagerTag() {
    }
    public void setPagesize(int pagesize) {
        this.pagesize = pagesize;
    }
    public void setRowcount(int rowcount) {
        this.rowcount = rowcount;
    }
   public void setCurrpagenum(int currpagenum) {
        this.currpagenum = currpagenum;
    }
    public void setClassName(String className) {
        this.className = className;
    }
    public void setAction(String action) {
        this.action = action;
    }
    public int doStartTag() throws JspException {
        if (new Integer(pagesize) == null) {
            throw new JspException("PagerTag标签中缺乏pagesize属性!");
        }else if(pagesize==0){
            throw new JspException("PagerTag标签中的pagesize属性无值!");
        }
        if (new Integer(rowcount) == null) {
            throw new JspException("PagerTag标签中缺乏rowcount属性!");
        }
        if (new Integer(currpagenum) == null) {
            throw new JspException("PagerTag标签中缺乏currpagenum属性!");
        }
        if (action == null) {
            throw new JspException("PagerTag标签中缺乏action属性!");
        }else if(action.length()==0){
            throw new JspException("PagerTag标签中的action属性无值!");
        }
        //如果页面标签中没写className属性,则让翻页按钮应用默认的按钮样式
        if(className==null||className.length()==0){
            className = DEFAULT_BUTTON_CLASS;
        }
        //获取总页数
        int totalpagesize = getTotalpagesize(rowcount);
        //用以标志是否能上翻
        boolean noUp = false;
        //用以标志是否能下翻
        boolean noDown = false;
        //声明应用于''首页'',''上一页''按钮的样式(因为此俩按钮要么同时失效,要么同时可用)
        String buttonClass1 = className;
        //声明应用于''下一页'',''尾页''按钮的样式(同上)
        String buttonClass2 = className;
        //如果无记录,则设置总页数与当前页数都为1
        if(rowcount==0){
            currpagenum = 1;
            totalpagesize = 1;
        }
        //如果当前页是第一页
        if(currpagenum==1){
            noUp = tr

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号