/***************************************************************************** * * * This file is part of the tna framework distribution. * * Documentation and updates may be get from biaoping.yin the author of * * this framework * * * * Sun Public License Notice: * * * * The contents of this file are subject to the Sun Public License Version * * 1.0 (the "License"); you may not use this file except in compliance with * * the License. A copy of the License is available at http://www.sun.com * * * * The Original Code is tag. The Initial Developer of the Original * * Code is biaoping yin. Portions created by biaoping yin are Copyright * * (C) 2000. All Rights Reserved. * * * * GNU Public License Notice: * * * * Alternatively, the contents of this file may be used under the terms of * * the GNU Lesser General Public License (the "LGPL"), in which case the * * provisions of LGPL are applicable instead of those above. If you wish to * * allow use of your version of this file only under the terms of the LGPL * * and not to allow others to use your version of this file under the SPL, * * indicate your decision by deleting the provisions above and replace * * them with the notice and other provisions required by the LGPL. If you * * do not delete the provisions above, a recipient may use your version of * * this file under either the SPL or the LGPL. * * * * biaoping.yin (yin-bp@163.com) * * Author of Learning Java * * * *****************************************************************************/ package com.frameworkset.common.tag.pager.tags; import java.util.Locale; import java.util.Stack; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import org.frameworkset.spi.ApplicationContext; import org.frameworkset.spi.BaseSPIManager2; import org.frameworkset.util.I18NUtil; import com.frameworkset.common.ecs.A; import com.frameworkset.common.ecs.IMG; import com.frameworkset.common.ecs.Input; import com.frameworkset.common.ecs.Option; import com.frameworkset.common.ecs.Script; import com.frameworkset.common.ecs.Select; import com.frameworkset.common.tag.TagUtil; import com.frameworkset.common.tag.pager.config.PageConfig; import com.frameworkset.platform.cms.driver.jsp.CMSServletRequest; import com.frameworkset.util.StringUtil; /** * * 生成导航按钮,例如:上一页,下一页,首页,尾页等等 * * @author biaoping.yin * @version 1.0 */ public final class IndexTag extends PagerTagSupport { /** * 扩展属性,导航按钮是否使用图片 */ private boolean useimage = false; private boolean usegoimage = false; public static final String[] _sizescope = new String[] {"5","10","20","30","40","50","60","70","80","90","100"}; private String sizescope = null; private static boolean enable_page_size_set = BaseSPIManager2.getBooleanProperty("enable_page_size_set",true); private static boolean enable_page_total_size = BaseSPIManager2.getBooleanProperty("enable_page_total_size",true); /** * 上下翻页如果没有连接时,是否添加a标记 * true(默认值) 添加,false不添加 */ private boolean aindex = false; /** * 数字页面索引前缀 */ private String numberpre ; /** * 数字页面索引后缀 */ private String numberend; // /** // * jquery内容容器 // */ // private String containerid ; // // /** // * jquery内容选择器 // */ // private String selector; public String getImagedir() { return imagedir; } public void setImagedir(String imagedir) { // if(imagedir != null) // { // this.imagedir = StringUtil.getRealPath(request, imagedir); // } this.imagedir = imagedir; } public void setUseimage(boolean useimage) { this.useimage = useimage; } /** * 导航图片的扩展属性串 */ private String imageextend = " border=0 "; /** * 导航图片的扩展属性串 */ private String centerextend ; public String getCenterextend() { return centerextend; } public void setCenterextend(String centerextend) { this.centerextend = centerextend; } /** * * @return */ public String getImageextend() { return imageextend; } public void setImageextend(String imageextend) { if(imageextend != null && !imageextend.equals("")) this.imageextend = imageextend; } /** * 扩展属性,导航按钮图片对应的目录 */ private String imagedir = "/include/images"; public static final String first_image = "first.gif"; public static final String next_image = "next.gif"; public static final String pre_image = "pre.gif"; public static final String last_image = "last.gif"; public static final String go_image = "go.jpg"; /**本属性控制分页标签中哪些导航按钮出现在页面上*/ private String export = null; private String style = "V"; /** * 自定义跳转函数切换标识 * 为true,jsp页面中必须放置一个名称为 * com.frameworkset.goform的form表单,不需要指定action,method为post */ private boolean custom = false; public final void setExport(String value) throws JspException { this.export = value; } public void setStyle(String style) { this.style = style; } public final String getExport() { return export; } public String getStyle() { return style; } /** * 本属性为7个byte字节,每个字节的值域为0和1, * 分别控制对应位置上的按钮是否出现 * 0表示对应位置上的按钮出现,否则不出现 */ protected byte[] switchcase = new byte[9]; /** * 中间页面标记个数,为-1时没有中间页面 */ private int tagnumber = -1; public int getTagnumber() { return tagnumber; } public void setTagnumber(int tagnumber) { this.tagnumber = tagnumber; } /** * 中间页面样式名称 */ private String classname; public String getClassname() { return classname; } public void setClassname(String classname) { this.classname = classname; } protected void parser() { if(getExport() != null) { String temp = getExport(); for (int i = 0; i <switchcase.length && i < temp.length(); i++) switchcase[i] = (byte)(temp.charAt(i) - 48); } } private boolean skip() { return (switchcase[0] & switchcase[1] & switchcase[2] & switchcase[3] & switchcase[4] & switchcase[5] & switchcase[6]& switchcase[7]& switchcase[8]) == 1; } public int doStartTag() throws JspException { super.doStartTag(); if(this.pagerContext == null) { String t_id = "pagerContext." ; HttpServletRequest request = this.getHttpServletRequest(); if(request instanceof CMSServletRequest) { CMSServletRequest cmsRequest = (CMSServletRequest)request; t_id += cmsRequest.getContext().getID() ; } else if(this.id != null && !id.trim().equals("")) { t_id += id; } else t_id += PagerContext.DEFAULT_ID; this.pagerContext = (PagerContext)request.getAttribute(t_id); } //indexhelper = new IndexHelper(pagerContext); if (pagerContext == null || pagerContext.ListMode()) { return SKIP_BODY; } //分析控制页面上哪些按钮需要被显示的属性export parser(); if(imagedir != null) { this.imagedir = StringUtil.getRealPath(request, imagedir); } if(!skip()) try { String output = generateContent(); // System.out.println(output); this.getJspWriter().print(output); } catch (Exception e) { throw new JspException(e.getMessage()); } return SKIP_BODY; } // public static void main(String[] args) // { // byte[] switchcase = new byte[7]; // String test = "1000000"; // System.out.println("test:"+test.charAt(0)); // switchcase[0] = (byte)(test.charAt(0) - 48); // System.out.println(switchcase[0]); // } public int doEndTag() throws JspException { // if (indexTagExport != null) { // String name; // if ((name = indexTagExport.getItemCount()) != null) { // restoreAttribute(name, oldItemCount); // oldItemCount = null; // } // // if ((name = indexTagExport.getPageCount()) != null) { // restoreAttribute(name, oldPageCount); // oldPageCount = null; // } // } // super.doEndTag();//是否存在问题,biaoping.yin打开于20081121日 this.custom = false; export = null; style = "V"; switchcase = new byte[9]; this.pageContext = null; imagedir = "/include/images"; this.imageextend = " border=0 "; this.useimage = false; this.tagnumber = -1; this.classname = null; this.centerextend = null; // pagerContext.getContainerid() = null; // pagerContext.getSelector() = null; this.sizescope = null; this.usegoimage = false; this.numberend = null; this.numberpre = null; this.aindex = false; return EVAL_PAGE; } public void release() { export = null; super.release(); } /* (non-Javadoc) * @see com.frameworkset.common.tag.BaseTag#generateContent() */ /** * */ public String generateContent() { StringBuilder ret = new StringBuilder(); //针对web应用引入javascript脚本文件,wap应用无需引入 boolean needScript = (pagerContext.indexs == null || pagerContext.indexs.isEmpty()); if(needScript) { if(!pagerContext.isWapflag()) ret.append(this.getScript()); } Locale locale = I18NUtil.getRequestContextLocal(request); String total_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.total",locale) ; String total_page_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.total.page",locale) ; String total_records_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.total.records",locale) ; // ret.append( // "<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"1\">"); //ret.append("<tr class='TableHead1'>"); //ret.append("<td align='center' colspan=100>"); if(!pagerContext.isWapflag()) { if (needScript && pagerContext.getForm() != null) { String name = pagerContext.getId() + ".PAGE_QUERY_STRING"; ret.append("<input type=\"hidden\" id=\"" + name + "\" name=\"" + name + "\"/>"); } } if( switchcase[8] == 0) { if(enable_page_total_size && !pagerContext.isMore()) ret.append(total_label)//共 .append("<span class='Total'>").append(!pagerContext.ListMode()?pagerContext.getItemCount():pagerContext.getDataSize()).append("</span>").append(total_records_label);//条记录 } //ret.append("<div align=\"right\">"); if (switchcase[0] == 0) { long serial = !pagerContext.isMore()?Math.min(pagerContext.getPageNumber() + 1, pagerContext.getPageCount()):pagerContext.getPageNumber() + 1; if(!pagerContext.isMore()) { if(!pagerContext.isWapflag()) ret.append("<span class='current'>" + serial + "</span>/"); else ret.append("<span class='current'>" + serial + "</span>/"); } else { if(!pagerContext.isWapflag()) ret.append("<span class='current'>第" + serial + "页</span>"); else ret.append("<span class='current'>第" + serial + "页</span>"); } } if (switchcase[1] == 0 && !pagerContext.isMore()) { if(!pagerContext.isWapflag()) ret.append( pagerContext.getPageCount()).append(total_page_label);//" 页" else ret.append( pagerContext.getPageCount()).append(total_page_label);//" 页" } if (switchcase[2] == 0) { if(!pagerContext.isWapflag() ) ret.append("<span class='next'>"+this.getFirstContent()).append("</span>"); else ret.append(this.getWapFirstContent()).append(" "); } if (switchcase[3] == 0) { if(!pagerContext.isWapflag()) ret.append("<span class='next'>"+this.getPrevContent()).append("</span> "); else ret.append(this.getWapPrevContent()).append(" "); } if(this.tagnumber > 0)//待处理 { StringBuilder center = new StringBuilder(); this.getCenterContent((int)pagerContext.getPageNumber(), (int)pagerContext.getPageCount(), center); String temp = center.toString(); ret.append(temp); } if (switchcase[4] == 0) if(!pagerContext.isWapflag()) ret.append("<span class='next'>"+this.getNextContent()).append("</span>"); else ret.append(this.getWapNextContent()).append(" "); if (switchcase[5] == 0) { if(!pagerContext.isMore()) { if(!pagerContext.isWapflag()) ret.append("<span class='next'>"+this.getLastContent()).append("</span>"); else ret.append(this.getWapLastContent()).append(" "); } } if (switchcase[6] == 0) if(!pagerContext.isMore()) { if(!pagerContext.isWapflag()) ret.append(this.getGoContent()); else ret.append(this.getWapGoContent()); } if (switchcase.length > 7 ) { if( switchcase[7] == 0) ret.append(this.getMaxPageItem()); } else { if(enable_page_size_set) ret.append(this.getMaxPageItem()); } // else // ret.append(this.getWapGoContent()); /* 中间页码 */ // ret.append("</div>"); // ret.append("</td>"); // ret.append("</tr>"); // ret.append("</table>"); //标签本身进栈,以便分页标签进行跟踪 push(); return ret.toString(); } public String getMaxPageItem() { String defaultsize = pagerContext.getMaxPageItems() + ""; Select select = new Select(); select.setID("__max_page_size"); select.setName("__max_page_size"); if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { select.setOnChange(new StringBuilder().append("javascript:bboss.pager.__chagePageSize(event,'").append( pagerContext.getCookieid() ).append( "','__max_page_size','" ).append( pagerContext.getTruePageUrl() ).append( "')").toString()); } else { if(pagerContext.getSelector() == null || pagerContext.getSelector() .equals("")) { select.setOnChange(new StringBuilder().append("javascript:bboss.pager.__chagePageSize(event,'") .append( pagerContext.getCookieid() ) .append( "','__max_page_size','") .append( pagerContext.getTruePageUrl() ) .append( "',null,'") .append( pagerContext.getContainerid() ) .append( "')").toString()); } else { select.setOnChange(new StringBuilder().append("javascript:bboss.pager.__chagePageSize(event,'") .append( pagerContext.getCookieid() ) .append( "','__max_page_size','") .append( pagerContext.getTruePageUrl() ) .append( "','") .append( pagerContext.getSelector() ) .append( "','") .append( pagerContext.getContainerid() ) .append( "')").toString()); } } // Option option = new Option(); // option.setValue(defaultsize); // option.setTagText("记录设置"); // select.addElement(option); Option option = null; String[] ops = null; if(this.sizescope == null || this.sizescope.equals("")) ops = _sizescope; else ops = this.sizescope.split(","); ops = sortitems(ops,pagerContext.getCustomMaxPageItems()); for(int i =0; i < ops.length; i ++) { option = new Option(); option.setValue(ops[i]); option.setTagText(ops[i]); if(defaultsize.equals(ops[i])) { option.setSelected(true); } select.addElement(option); } Locale locale = I18NUtil.getRequestContextLocal(request); String everypage_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.everypageshow",locale) ; String everypagerecords_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.everypageshow.records",locale) ; return new StringBuilder(" <span class='pages1'>").append(everypage_label)//每页显示 .append(select.toString()).append(everypagerecords_label)//条 .append("</span>").toString(); } private String[] sortitems(String[] ops,int pagesize) { if(pagesize <= 0 ) return ops; if(ops == null || ops.length <= 0) { return new String[]{pagesize + ""}; } for(int i = 0 ; i < ops.length ; i ++) { String size = ops[i]; try { int size_ = Integer.parseInt(size); if (pagesize == size_) return ops; } catch (Exception e) { continue; } } String[] ret = new String[ops.length + 1]; ret[0] = pagesize + ""; for(int i = 1 ;i< ret.length; i ++) { ret[i] = ops[i - 1]; } return ret; } // /** // * notified by biaoping.yin on 2005-02-16 // * 注销原因:已经移到pagerContext中 // * Description:生成自定义的翻页索引的链接地址 // * @param formName // * @param params // * @param promotion // * @param forwardUrl // * @return // * String // */ // private String getCustomUrl(String formName,String params,boolean promotion,String forwardUrl) // { // String customFirstUrl = "javascript:pageSubmit('" // + formName // + "','" // + params // + "','" // + forwardUrl // + "'," // + promotion + ")"; // return customFirstUrl; // // } private String getWapFirstContent() { String firstUrl = pagerContext.getPageUrl(getJumpPage(PagerConst.FIRST_PAGE)); if (firstUrl.equals("")) return ""; String customFirstUrl = null; customFirstUrl = firstUrl; customFirstUrl = StringUtil.replace(customFirstUrl,"&","&"); if(this.getStyle().equals("V")) return "<br/>" + new A().setHref(customFirstUrl).setTagText("首页").toString(); else return " " + new A().setHref(customFirstUrl).setTagText("首页").toString(); } private static String buildPath(String dir,String fileName) { if(dir == null || dir.equals("")) return fileName; if(dir.endsWith("/")) { return dir + fileName; } else { return dir + "/" + fileName; } } public static String getJqueryUrl(String url,String containerid,String selector) { StringBuilder ret = new StringBuilder(); if(selector != null) ret.append("javascript:bboss.pager.loadPageContent('").append(url).append("','").append(containerid).append("','").append(selector).append("');"); else ret.append("javascript:bboss.pager.loadPageContent('").append(url).append("','").append(containerid).append("',null);"); return ret.toString(); } private String getFirstContent() { String firstUrl = pagerContext.getPageUrl(getJumpPage(PagerConst.FIRST_PAGE)); Locale locale = I18NUtil.getRequestContextLocal(request); String firstpage_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.firstpage",locale) ; if (firstUrl.equals("")) { if(!this.useimage) { if(this.aindex) { return new StringBuilder("<a href='javascript:void(0)'>") .append(firstpage_label)//首 页 .append("</a>").toString(); } else { return firstpage_label; } } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), first_image)); image.setAlt(firstpage_label);//首 页 if(this.imageextend != null) { image.setExtend(this.imageextend); } return image.toString(); } } String customFirstUrl = null; if(pagerContext.getForm() != null) { String params = pagerContext.getQueryString(0,pagerContext.getSortKey(),pagerContext.getDesc()); customFirstUrl = pagerContext.getCustomUrl(pagerContext.getForm(), params, pagerContext.getPromotion(),firstUrl,pagerContext.getId()); } else { customFirstUrl = firstUrl; } if(!this.useimage) { A a = new A(); a.setTagText(firstpage_label);//首 页; if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customFirstUrl); } else { a.setHref("javascript:void(0)"); a.setOnClick(this.getJqueryUrl(customFirstUrl,pagerContext.getContainerid(),pagerContext.getSelector())); } return a.toString(); } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), first_image)); image.setAlt(firstpage_label);//首 页 if(this.imageextend != null) { image.setExtend(this.imageextend); } A a = new A(); if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customFirstUrl); } else { a.setOnClick(this.getJqueryUrl(customFirstUrl,pagerContext.getContainerid(),pagerContext.getSelector())); } a.addElement(image); return a.toString(); } //共1页  首页 上一页 下一页 尾页   跳转 页 //return ret.toString(); } // private String getFirstContent() { // String firstUrl = pagerContext.getPageUrl(getJumpPage(PagerConst.FIRST_PAGE)); // // if (firstUrl.equals("")) // { // if(!this.useimage) // return "首 页"; // else // { // IMG image = new IMG(); // // image.setSrc(buildPath(this.getImagedir(), first_image)); // image.setAlt("首 页"); // if(this.imageextend != null) // { // // image.setExtend(this.imageextend); // } // // return image.toString(); // } // } // String customFirstUrl = null; // if(pagerContext.getForm() != null) // { // String params = pagerContext.getQueryString(0,pagerContext.getSortKey(),pagerContext.getDesc()); // customFirstUrl = pagerContext.getCustomUrl(pagerContext.getForm(), // params, // pagerContext.getPromotion(),firstUrl,pagerContext.getId()); // } // else // { // customFirstUrl = firstUrl; // } // // if(!this.useimage) // { // return new A().setHref(customFirstUrl).setTagText("首 页").toString(); // } // else // { // IMG image = new IMG(); // // image.setSrc(buildPath(this.getImagedir(), first_image)); // image.setAlt("首 页"); // if(this.imageextend != null) // { // image.setExtend(this.imageextend); // } // return new A().setHref(customFirstUrl).addElement(image).toString(); // // } // // //共1页  首页 上一页 下一页 尾页   跳转 页 // // //return ret.toString(); // } public static void main(String args[]) { // IMG image = new IMG(); // image.setSrc(buildPath("aaa", "bbb.gif")); // image.setAlt("首页"); // image.setExtend(" border=0 "); // System.out.println(new A().setHref("www.sina.com.cn").addElement(image).toString()); System.out.println(UUID.randomUUID().toString()); long start = System.currentTimeMillis(); String gotopageid = UUID.randomUUID().toString(); long end = System.currentTimeMillis(); System.out.println(gotopageid + ":"+ (end - start)); // UUIDGenerator generator = UUIDGenerator.getInstance(); // gotopageid = generator.generateRandomBasedUUID().toString(); start = System.currentTimeMillis(); // gotopageid = generator.generateRandomBasedUUID().toString(); end = System.currentTimeMillis(); System.out.println(gotopageid + ":"+ (end - start)); } // private String getNavigationUrl(int offset,String sortKey) // { // String forwardUrl = pagerContext.getOffsetUrl(offset,sortKey); // String customUrl = null; // if(pagerContext.getForm() != null) // { // customUrl = pagerContext.getCustomUrl(pagerContext.getForm(), // pagerContext.getQueryString(offset,sortKey), // pagerContext.getPromotion(), // forwardUrl); // // } // else // customUrl = forwardUrl; // return customUrl; // } /** * 获取上一页的html代码 * @return String */ private String getWapPrevContent() { StringBuilder ret = new StringBuilder(); if (!pagerContext.hasPrevPage()) return ""; long offset = pagerContext.getPrevOffset(); String sortKey = pagerContext.getSortKey(); String prevurl = pagerContext.getOffsetUrl(offset,sortKey,pagerContext.getDesc()); String customPrevutl = null; customPrevutl = prevurl; //String prevurl = pagerContext.getPageUrl(getJumpPage(PagerConst.PRE_PAGE)); customPrevutl = StringUtil.replace(customPrevutl,"&","&"); if(this.getStyle().equals("V")) return "<br/>" + new A().setHref(customPrevutl).setTagText("上一页"); else return " " + new A().setHref(customPrevutl).setTagText("上一页"); } private String getPrevContent() { Locale locale = I18NUtil.getRequestContextLocal(request); String prepage_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.prepage",locale) ; if (!pagerContext.hasPrevPage()) { // return " 上一页"; if(!this.useimage) { if(this.aindex) { return new StringBuilder("<a href='javascript:void(0)'>") .append(prepage_label)//上一页 .append("</a>").toString(); } else { return prepage_label//上一页 ; } } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), this.pre_image)); image.setAlt(prepage_label);//上一页 if(this.imageextend != null) { image.setExtend(this.imageextend); } return image.toString(); } } long offset = pagerContext.getPrevOffset(); String sortKey = pagerContext.getSortKey(); String prevurl = pagerContext.getOffsetUrl(offset,sortKey,pagerContext.getDesc()); String customPrevutl = null; if(pagerContext.getForm() != null) { customPrevutl = pagerContext.getCustomUrl(pagerContext.getForm(), pagerContext.getQueryString(offset,sortKey,pagerContext.getDesc()), pagerContext.getPromotion(), prevurl,pagerContext.getId()); } else customPrevutl = prevurl; //String prevurl = pagerContext.getPageUrl(getJumpPage(PagerConst.PRE_PAGE)); if(!this.useimage) { A a = new A(); a.setTagText(prepage_label);//上一页 if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customPrevutl); } else { a.setHref("javascript:void(0)"); a.setOnClick(this.getJqueryUrl(customPrevutl,pagerContext.getContainerid(),pagerContext.getSelector())); } return a.toString(); // return " " + new A().setHref(customPrevutl).setTagText("上一页"); } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), pre_image)); image.setAlt(prepage_label);//上一页 if(this.imageextend != null) { image.setExtend(this.imageextend); } A a = new A(); if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customPrevutl); } else { a.setOnClick(this.getJqueryUrl(customPrevutl,pagerContext.getContainerid(),pagerContext.getSelector())); } a.addElement(image); return " " + a.toString(); // return " " + new A().setHref(customPrevutl).addElement(image).toString(); // return new A().setHref(customFirstUrl).addElement(image).toString(); } } private String getCenterPageUrl(long offset,String sortKey) { StringBuilder ret = new StringBuilder(); // long offset = pagerContext.getPrevOffset(); // String sortKey = pagerContext.getSortKey(); String prevurl = pagerContext.getOffsetUrl(offset,sortKey,pagerContext.getDesc()); String customPrevutl = null; if(pagerContext.getForm() != null) { customPrevutl = pagerContext.getCustomUrl(pagerContext.getForm(), pagerContext.getQueryString(offset,sortKey,pagerContext.getDesc()), pagerContext.getPromotion(), prevurl,pagerContext.getId()); } else customPrevutl = prevurl; return customPrevutl; } /** * 获取wap得下一页地址 * @return String */ private String getWapNextContent() { if (pagerContext.hasNextPage()) { long offset = pagerContext.getNextOffset(); String sortKey = pagerContext.getSortKey(); String nextUrl = pagerContext.getOffsetUrl(offset,pagerContext.getSortKey(),pagerContext.getDesc()); //String prevurl = pagerContext.getOffsetUrl(offset,sortKey); String customNextUrl = null; customNextUrl = nextUrl; customNextUrl = StringUtil.replace(customNextUrl,"&","&"); //String nextUrl = pagerContext.getPageUrl(getJumpPage(PagerConst.NEXT_PAGE)); if(this.getStyle().equals("V")) return "<br/>" + new A().setHref(customNextUrl).setTagText("下一页"); else return " " + new A().setHref(customNextUrl).setTagText("下一页"); } return ""; } /** * 获取下一页的html代码 * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ private String getNextContent() { Locale locale = I18NUtil.getRequestContextLocal(request); String nextpage_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.nextpage",locale) ; if (pagerContext.hasNextPage()) { long offset = pagerContext.getNextOffset(); String sortKey = pagerContext.getSortKey(); String nextUrl = pagerContext.getOffsetUrl(offset,pagerContext.getSortKey(),pagerContext.getDesc()); //String prevurl = pagerContext.getOffsetUrl(offset,sortKey); String customNextUrl = null; if(pagerContext.getForm() != null) { customNextUrl = pagerContext.getCustomUrl(pagerContext.getForm(), pagerContext.getQueryString(offset,sortKey,pagerContext.getDesc()), pagerContext.getPromotion(), nextUrl,pagerContext.getId()); } else customNextUrl = nextUrl; if(!this.useimage) { A a = new A(); a.setTagText(nextpage_label);//"下一页" if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customNextUrl); } else { a.setHref("javascript:void(0)"); a.setOnClick(this.getJqueryUrl(customNextUrl,pagerContext.getContainerid(),pagerContext.getSelector())); } return a.toString(); } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), this.next_image)); image.setAlt(nextpage_label);//"下一页" if(this.imageextend != null) { image.setExtend(this.imageextend); } A a = new A(); if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customNextUrl); } else { a.setOnClick(this.getJqueryUrl(customNextUrl,pagerContext.getContainerid(),pagerContext.getSelector())); } a.addElement(image); return a.toString(); // return new A().setHref(customNextUrl).addElement(image).toString(); // return new A().setHref(customFirstUrl).addElement(image).toString(); } } if(!this.useimage) { if(this.aindex) { return new StringBuilder("<a href='javascript:void(0)'>").append(nextpage_label)//"下一页" .append("</a>").toString(); } else { return nextpage_label//"下一页" ; } } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), next_image)); image.setAlt(nextpage_label);//"下一页" if(this.imageextend != null) { image.setExtend(this.imageextend); } return image.toString(); } // return " 下一页"; } /** * 获取wap尾页按钮 * @return String */ private String getWapLastContent() { String lastUrl = pagerContext.getPageUrl(getJumpPage(PagerConst.LAST_PAGE)); if (lastUrl.equals("")) return ""; long offset = pagerContext.getLastOffset(); String sortKey = pagerContext.getSortKey(); String customLastUrl = null; customLastUrl = lastUrl; customLastUrl = StringUtil.replaceAll(customLastUrl,"&","&"); if(this.getStyle().equals("V")) return "<br/>" + new A().setHref(customLastUrl).setTagText("尾 页"); else return " " + new A().setHref(customLastUrl).setTagText("尾 页"); } /** * 生成中间页面地址 * @param tagnumber * @param currentPage * @param totalPage * @param output * @return */ private void getCenterContent(int currentPage,int totalPage,StringBuilder output) { /* 起始页 */ // System.out.println("currentPage:"+currentPage); // System.out.println("totalPage:"+totalPage); if(tagnumber >0){ int start = 1; int end = 1; if(tagnumber<=2) tagnumber = 3; // if(tagnumber>3) { if(!pagerContext.isMore()) { if(currentPage>tagnumber ){ start = (int)currentPage-(int)Math.floor(tagnumber/2); }else{ if((currentPage%tagnumber)>=(int)Math.floor(tagnumber/2) || currentPage%tagnumber==0 ) start = (int)currentPage-(int)Math.floor(tagnumber/2); } start = start<=0?1:start; /* 尾页 */ end = (int)this.tagnumber + start ; if(end > totalPage) { //页码是从1开始的 end = (int)totalPage + 1; start = end - (int)this.tagnumber; if(start<=0) start = 1; } } else { if(pagerContext.getDataResultSize() < pagerContext.getMaxPageItems())//最后一页 { if(currentPage > 1) { start = Math.max(0, currentPage - tagnumber) ; if(start == 0) start = 1; else start =start+1; end = start + tagnumber +1; } else { start = 1; end = 1; } } else { if(currentPage>tagnumber ){ start = (int)currentPage-(int)Math.floor(tagnumber/2); }else{ if((currentPage%tagnumber)>=(int)Math.floor(tagnumber/2) || currentPage%tagnumber==0 ) start = (int)currentPage-(int)Math.floor(tagnumber/2); } start = start<=0?1:start; /* 尾页 */ end = (int)this.tagnumber + start ; // if(end > totalPage) { // //页码是从1开始的 // end = (int)totalPage + 1; // start = end - (int)this.tagnumber; // if(start<=0) start = 1; // } } } } // else{ // if(tagnumber<=2) tagnumber = 3; // start = (int)currentPage-1; // if(start<=0) start = 1 ; // // if(currentPage == 1) end = (int)currentPage + (int)this.tagnumber ; // else end = (int)currentPage + (int)this.tagnumber - 1 ; // if(end>totalPage){ // end = (int)totalPage + 1; // start = end - (int)tagnumber; // if(start<=0) start = 1; // } // } if((!pagerContext.isMore() && totalPage>1) || pagerContext.isMore()){ for(int i=start;i<end;i++){ if((i - 1) ==currentPage){ if(aindex) { if(this.numberpre == null) output.append("<span class='current_page'><a href='javascript:void(0)'>").append(i).append("</a></span> "); else output.append("<span class='current_page'><a href='javascript:void(0)'>").append(this.numberpre).append(i).append(this.numberend).append("</a></span> "); } else { if(this.numberpre == null) output.append("<span class='current_page'>").append(i).append("</span> "); else output.append("<span class='current_page'>").append(this.numberpre).append(i).append(this.numberend).append("</span> "); } }else{ // Context loop = new VelocityContext(); A a = new A(); if(this.numberpre == null) { a.setTagText(String.valueOf(i)); } else { a.setTagText(this.numberpre +i+this.numberend); } String url = getCenterPageUrl((i-1) * this.pagerContext.getMaxPageItems(),this.pagerContext.getSortKey()); if(pagerContext.getForm() != null) { a.setHref(url); } else { if(pagerContext.getContainerid() != null && !pagerContext.getContainerid().equals("")) { a.setHref("javascript:void(0)"); a.setOnClick(getJqueryUrl(url,pagerContext.getContainerid(),pagerContext.getSelector())); } else { a.setHref(url); } } if(centerextend != null) a.setExtend(centerextend); if(this.classname != null && !this.classname.equals("")) a.setClass(classname); // if(this.style != null && !this.style.equals("")) // a.setStyle(style); // loop.put("count",i+""); // long off = (i-1) * this.pagerContext.getMaxPageItems(); // loop.put("currentpath",); // loop.put("classname",this.classname); // loop.put("style",this.style); // output.append(CMSTagUtil.loadTemplate("publish/newsTurnPage/content-loop.vm",loop)); output.append(a); } } } } } /** * 获取尾页按钮 * @return String */ private String getLastContent() { String lastpage_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.lastpage",I18NUtil.getRequestContextLocal(request)) ; String lastUrl = pagerContext.getPageUrl(getJumpPage(PagerConst.LAST_PAGE)); if (lastUrl.equals("")) { // return " 尾 页"; if(!this.useimage) { if(this.aindex) { return new StringBuilder().append(" <a href='javascript:void(0)'>") .append(lastpage_label)//尾页 .append("</a>").toString(); } else { return lastpage_label; } } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), last_image)); image.setAlt(lastpage_label);//尾页 if(this.imageextend != null) { image.setExtend(this.imageextend); } return image.toString(); } } long offset = pagerContext.getLastOffset(); String sortKey = pagerContext.getSortKey(); String customLastUrl = null; if(pagerContext.getForm() != null) { customLastUrl = pagerContext.getCustomUrl(pagerContext.getForm(), pagerContext.getQueryString(offset,sortKey,pagerContext.getDesc()), pagerContext.getPromotion(), lastUrl,pagerContext.getId()); } else customLastUrl = lastUrl; if(!this.useimage) { A a = new A(); a.setTagText(lastpage_label);//尾页 if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customLastUrl); } else { a.setHref("javascript:void(0)"); a.setOnClick(this.getJqueryUrl(customLastUrl,pagerContext.getContainerid(),pagerContext.getSelector())); } return a.toString(); // return " " + new A().setHref(customLastUrl).setTagText("尾 页"); } else { IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), this.last_image)); image.setAlt(lastpage_label);//尾页 if(this.imageextend != null) { image.setExtend(this.imageextend); } A a = new A(); if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { a.setHref(customLastUrl); } else { a.setOnClick(this.getJqueryUrl(customLastUrl,pagerContext.getContainerid(),pagerContext.getSelector())); } a.addElement(image); return a.toString(); // return new A().setHref(customLastUrl).addElement(image).toString(); // return new A().setHref(customFirstUrl).addElement(image).toString(); } } /** * <a id="bridge"></a> * function goTo(url,maxPageItem,hasParam) * { * * var go = document.all.item("go").value; * var goPage = parserInt(go); * if(isNaN(goPage)) * { * alert("跳转页必须是数字"); * return; * } * var offset = (goPage - 1) * maxPageItems; * document.bridge.href = url + (hasParam?"&":"?" + "pager.offset=" + offset); * document.bridge.onClick(); * } * @return String */ private String getScript() { StringBuilder script = new StringBuilder(); HttpServletRequest request = this.getHttpServletRequest(); if(!this.isCustom()) { // script.append(new Script() // .setSrc(StringUtil.getRealPath(request, "/include/pager.js")) // .setLanguage("javascript") // .toString()); if(pagerContext.getContainerid() == null || pagerContext.getContainerid().equals("")) { script.append(PageConfig.getPagerConfig(request)); //jquery script.append(PageConfig.getPagerCss(request)); //jquery } else { request.setAttribute(PageConfig.jqueryscript_set_flag,"true"); } } else { script.append(new Script() .setSrc(StringUtil.getRealPath(request, "/include/pager_custom.js")) .setLanguage("javascript") .toString()); script.append(PageConfig.getPagerCss(request)); //jquery } if(this.pagerContext.getCommitevent() != null) { if(this.pagerContext.getCommitevent().startsWith("'") || this.pagerContext.getCommitevent().startsWith("\"")) { script .append(new Script().setTagText("bboss.pager.beforeload = "+ this.pagerContext.getCommitevent() + ";")); } else { script .append(new Script().setTagText("bboss.pager.beforeload = \"" + this.pagerContext.getCommitevent() + "\";")); } } return script.toString(); } // public static void main(String[] args ) // // { // // System.out.println(new Script().setTagText("commitevent = \"turnPageSumbmitSet()\";").toString()); // } /** * 获取wap得跳转按钮 * @return String */ private String getWapGoContent() { StringBuilder ret = new StringBuilder(); //.append("跳转到"); //ret.append("<a id=\"bridge\"></a>"); //ret.append(this.getScript()); long pages = pagerContext.getPageCount(); HttpServletRequest request = this.getHttpServletRequest(); //System.out.println("pagerContext.getPageCount():"+pagerContext.getPageCount()); if (pages > 1) { String goTo = null; goTo = request.getContextPath() + "/include/pager.wmls#goTo('" + pagerContext.getUri() + "'," + pages + "," + pagerContext.getMaxPageItems() + "," + String.valueOf(pagerContext.getParams() > 0) + ","; if(pagerContext.getSortKey() == null) goTo += "null"; else goTo += "'" + pagerContext.getSortKey() + "'"; goTo += "," + pagerContext.getDesc() + ",'" + pagerContext.getId() + "')"; // 调用validator.wmls中的外部函数validate()进行有效性检验 String doEvent = "<do type=\"accept\" label=\"跳转到\">" + "<go href=\"" + goTo + "\"/>" + "</do>"; //a.setStyle("cursor:hand"); ret.append(doEvent); ret .append("<input name='gotopage' type='text' size='2'/>") .append("页"); } else { // ret // .append("跳转到 ") // .append( // new Input() // .setName("gotopage") // .setType("text") // .setSize(2) // .setDisabled(true) // ) // .append(" 页"); } //<input name="txtName2" type="text" size="4" attrib="editor"> // <a href="#">页</a> if(this.getStyle().equals("V")) return "<br/>" + ret.toString(); else return " " + ret.toString(); } // /** // * 获取跳转按钮 // * @return String // */ // private String getGoContent() { // StringBuffer ret = new StringBuffer(); //.append("跳转到"); // //ret.append("<a id=\"bridge\"></a>"); // //ret.append(this.getScript()); // long pages = pagerContext.getPageCount(); // //System.out.println("pagerContext.getPageCount():"+pagerContext.getPageCount()); // if (pages > 1) { // // // String goTo = null; // StringBuffer gogo = new StringBuffer(); // if(pagerContext.getForm() == null) // { // if(pagerContext.getSortKey() != null) // { // goTo = "goTo('" // + pagerContext.getUri() // + "'," // + pages // + "," // + pagerContext.getMaxPageItems() // + "," // + pagerContext.hasParams() // + ",'" // + pagerContext.getSortKey() // + "'," // + pagerContext.getDesc() // + ",'" // + pagerContext.getId() // + "')"; // } // else // { // goTo = "goTo('" // + pagerContext.getUri() // + "'," // + pages // + "," // + pagerContext.getMaxPageItems() // + "," // + pagerContext.hasParams() // + ",null," // + pagerContext.getDesc() // + ",'" // + pagerContext.getId() // + "')"; // } // } // else // { // if(pagerContext.getSortKey() != null) // { // // // goTo = "goTo('" // + pagerContext.getUri() // + "'," // + pages // + "," // + pagerContext.getMaxPageItems() // + "," // + pagerContext.hasParams() // + ",'" // + pagerContext.getSortKey() // + "'," // + pagerContext.getDesc() // + ",'" // + pagerContext.getId() // + "','" // + pagerContext.getForm() // + "','" // + pagerContext.getQueryString() // + "'," // + pagerContext.getPromotion() // + ")"; // } // else // { // goTo = "goTo('" // + pagerContext.getUri() // + "'," // + pages // + "," // + pagerContext.getMaxPageItems() // + "," // + pagerContext.hasParams() // + ",null," // + pagerContext.getDesc() // + ",'" // + pagerContext.getId() // + "','" // + pagerContext.getForm() // + "','" // + pagerContext.getQueryString() // + "'," // + pagerContext.getPromotion() // + ")"; // } // } // // /** // * goTo(url, // pages, // maxPageItem, // hasParam, // sortKey, // formName, // params, // promotion) // */ // // // A a = new A(); // // if(!this.useimage) // { // a.setOnClick(goTo); // // a.setTagText("跳转到 "); // } // else // { // IMG image = new IMG(); // image.setSrc(buildPath(this.getImagedir(), this.go_image)); // image.setAlt("跳转到"); // if(this.imageextend != null) // { // // image.setExtend(this.imageextend); // } // image.setOnClick(goTo); // // a.addElement(image); // } // a.setName("pager.jumpto"); // a.setID("pager.jumpto"); // a.setHref("#"); // ///a.setStyle("cursor:hand"); // ret.append(a.toString()); // Input go = new Input() // // .setName("gotopage") // .setType("text") // .setSize(2); // // go.setOnKeyDown("keydowngo('pager.jumpto')"); // ret // .append( // go.toString()) // .append(" 页"); // } else { // if(!this.useimage) // { // Input go = new Input() // // .setName("gotopage") // .setType("text") // .setSize(2) // .setDisabled(true); // // ret // .append("跳转到 ") // .append( // go.toString() // ) // .append(" 页"); // } // else // { // IMG image = new IMG(); // image.setSrc(buildPath(this.getImagedir(), this.go_image)); // image.setAlt("跳转到"); // if(this.imageextend != null) // { // // image.setExtend(this.imageextend); // } // // Input go = new Input() // // .setName("gotopage") // .setType("text") // .setSize(2) // .setDisabled(true); // // ret // .append(image.toString()) // .append( // go.toString() // ) // .append(" 页"); // } // // } // // //<input name="txtName2" type="text" size="4" attrib="editor"> // // <a href="#">页</a> //// if(pagerContext.indexs == null || pagerContext.indexs.isEmpty()) //// { //// //// ret.append("<form action='' name='com.frameworkset.goform' method='post'></form>" ); //// } // return ret.toString(); // } private static final String gopageerror_msg = "请输入跳转页或者跳转页必须为整数"; /** * 获取跳转按钮 * @return String */ private String getGoContent() { StringBuilder ret = new StringBuilder(); //.append("跳转到"); //ret.append("<a id=\"bridge\"></a>"); //ret.append(this.getScript()); long pages = pagerContext.getPageCount(); //System.out.println("pagerContext.getPageCount():"+pagerContext.getPageCount()); String uuid = UUID.randomUUID().toString(); String gotopageid = uuid+".go"; Locale locale = I18NUtil.getRequestContextLocal(request); String gotopage_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.gotopage",locale) ; String page_label = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.page",locale) ; String gopageerror_msg = TagUtil.tagmessageSource.getMessage("bboss.tag.pager.gopageerror_msg",locale) ; if (pages > 1) { String goTo = null; StringBuilder gogo = new StringBuilder(); if(pagerContext.getForm() == null) { if(pagerContext.getSortKey() != null) { gogo.append("bboss.pager.goTo('").append(gotopageid).append("','").append(gopageerror_msg).append("',"); if(pagerContext.getContainerid() != null && !pagerContext.getContainerid().equals("")) { gogo.append("'").append(pagerContext.getContainerid()).append("'"); } else { gogo.append("null"); } gogo.append(","); if(pagerContext.getSelector() != null && !pagerContext.getSelector().equals("")) { gogo.append("'").append(pagerContext.getSelector()).append("'"); } else { gogo.append("null"); } gogo.append(",'"); gogo.append(pagerContext.getUri()) .append("',") .append(pages) .append(",") .append(pagerContext.getMaxPageItems()) .append(",") .append(pagerContext.hasParams()) .append(",'") .append(pagerContext.getSortKey()) .append("',") .append(pagerContext.getDesc()) .append(",'") .append(pagerContext.getId()) .append("')"); } else { gogo.append("bboss.pager.goTo('").append(gotopageid).append("','").append(gopageerror_msg).append("',"); if(pagerContext.getContainerid() != null && !pagerContext.getContainerid().equals("")) { gogo.append("'").append(pagerContext.getContainerid()).append("'"); } else { gogo.append("null"); } gogo.append(","); if(pagerContext.getSelector() != null && !pagerContext.getSelector().equals("")) { gogo.append("'").append(pagerContext.getSelector()).append("'"); } else { gogo.append("null"); } gogo.append(",'"); gogo.append(pagerContext.getUri()) .append("',") .append(pages) .append(",") .append(pagerContext.getMaxPageItems()) .append(",") .append(pagerContext.hasParams()) .append(",null,") .append(pagerContext.getDesc()) .append(",'") .append(pagerContext.getId()) .append("')"); } } else { if(pagerContext.getSortKey() != null) { gogo.append("bboss.pager.goTo('").append(gotopageid).append("','").append(gopageerror_msg).append("',"); if(pagerContext.getContainerid() != null && !pagerContext.getContainerid().equals("")) { gogo.append("'").append(pagerContext.getContainerid()).append("'"); } else { gogo.append("null"); } gogo.append(","); if(pagerContext.getSelector() != null && !pagerContext.getSelector().equals("")) { gogo.append("'").append(pagerContext.getSelector()).append("'"); } else { gogo.append("null"); } gogo.append(",'"); gogo.append(pagerContext.getUri()) .append("',") .append(pages) .append( ",") .append( pagerContext.getMaxPageItems()) .append(",") .append(pagerContext.hasParams()) .append(",'") .append(pagerContext.getSortKey()) .append("',") .append(pagerContext.getDesc()) .append(",'") .append(pagerContext.getId()) .append("','") .append(pagerContext.getForm()) .append("','") .append(pagerContext.getQueryString()) .append("',") .append(pagerContext.getPromotion()) .append(")"); } else { gogo.append("bboss.pager.goTo('").append(gotopageid).append("','").append(gopageerror_msg).append("',"); if(pagerContext.getContainerid() != null && !pagerContext.getContainerid().equals("")) { gogo.append("'").append(pagerContext.getContainerid()).append("'"); } else { gogo.append("null"); } gogo.append(","); if(pagerContext.getSelector() != null && !pagerContext.getSelector().equals("")) { gogo.append("'").append(pagerContext.getSelector()).append("'"); } else { gogo.append("null"); } gogo.append(",'"); gogo.append(pagerContext.getUri()) .append("',") .append(pages) .append( ",") .append( pagerContext.getMaxPageItems()) .append(",") .append(pagerContext.hasParams()) .append(",null,") .append(pagerContext.getDesc()) .append(",'") .append(pagerContext.getId()) .append("','") .append(pagerContext.getForm()) .append("','") .append(pagerContext.getQueryString()) .append("',") .append(pagerContext.getPromotion()) .append(")"); } } goTo = gogo.toString(); /** * goTo(url, pages, maxPageItem, hasParam, sortKey, formName, params, promotion) */ String pagerjumpto = uuid+".jumpto"; Input go = (Input) new Input() .setName(gotopageid) .setType("text") .setSize(2) .setClass("page_input"); go.setID(gotopageid); go.setOnKeyDown("bboss.pager.___keydowngo(event,'"+ pagerjumpto + "')"); if(this.usegoimage){ ret.append(" ") .append(gotopage_label)//跳转到 .append(go.toString()) .append(page_label); //页 IMG image = new IMG(); image.setID(pagerjumpto); image.setName(pagerjumpto); image.setSrc(buildPath(this.getImagedir(), this.go_image)); image.setAlt(gotopage_label); if(this.imageextend != null) { image.setExtend(this.imageextend); } image.setOnClick(goTo); ret.append(image.toString()); }else{ A a = new A(); a.setID(pagerjumpto); a.setName(pagerjumpto); a.setOnClick(goTo); a.setTagText(gotopage_label);//跳转到 ret.append(a.toString()).append(go.toString()).append(page_label); //页 } } else { if(this.usegoimage){ Input go = ((Input) new Input() .setName(gotopageid) .setType("text") .setSize(2) .setClass("page_input")) .setDisabled(true); ret.append(" ") .append(gotopage_label)//跳转到 .append(go.toString()) .append(page_label); //页 IMG image = new IMG(); image.setSrc(buildPath(this.getImagedir(), this.go_image)); image.setAlt(gotopage_label);//跳转到 if(this.imageextend != null) { image.setExtend(this.imageextend); } // image.setOnClick(goTo); ret.append(image.toString()); }else{ Input go = ((Input) new Input() .setName(gotopageid) .setType("text") .setSize(2) .setClass("page_input")) .setDisabled(true); ret.append(" ") .append(gotopage_label)//跳转到 .append(go.toString() ) .append(page_label); //页 } } //<input name="txtName2" type="text" size="4" attrib="editor"> // <a href="#">页</a> // if(pagerContext.indexs == null || pagerContext.indexs.isEmpty()) // { // // ret.append("<form action='' name='com.frameworkset.goform' method='post'></form>" ); // } return ret.toString(); } private long getJumpPage(int type) { switch (type) { case PagerConst.FIRST_PAGE : return 0; // case PagerConst.PRE_PAGE://保留关键字,目前没有使用 // return pagerContext.getPrevOffset(); // case PagerConst.INDEX_PAGE://保留关键字,目前没有使用 // return 2; // case PagerConst.NEXT_PAGE: // return pagerContext.getNextOffset(); case PagerConst.LAST_PAGE : return pagerContext.getLastPageNumber(); // case PagerConst.GO_PAGE://保留关键字,目前没有使用 // return 2; default : return 2; } } /** * 将Index标签实例压栈 * Description: * @return * Object */ public Object push() { if(pagerContext.indexs == null) pagerContext.indexs = new Stack(); return pagerContext.indexs.push(this); } public boolean isCustom() { return custom; } public void setCustom(boolean custom) { this.custom = custom; } /** * @return the sizescope */ public String getSizescope() { return sizescope; } /** * @param sizescope the sizescope to set */ public void setSizescope(String sizescope) { this.sizescope = sizescope; } public boolean isUsegoimage() { return usegoimage; } public void setUsegoimage(boolean usegoimage) { this.usegoimage = usegoimage; } public boolean isAindex() { return aindex; } public void setAindex(boolean aindex) { this.aindex = aindex; } public String getNumberpre() { return numberpre; } public void setNumberpre(String numberpre) { this.numberpre = numberpre; } public String getNumberend() { return numberend; } public void setNumberend(String numberend) { this.numberend = numberend; } // public String getContainerid() // { // return containerid; // } // // // public void setContainerid(String containerid) // { // pagerContext.getContainerid() = containerid; // } // // // public String getSelector() // { // return selector; // } // // // public void setSelector(String selector) // { // pagerContext.getSelector() = selector; // } } /* vim:set ts=4 sw=4: */