快速业务通道

一个高效简洁的Struts分页方法 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
/jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <form-beans> <form-bean name="certificateform" type="com.xindeco.presentation.graduatedata.Certificateform" /> </form-beans> <global-forwards> <forward name="error" path="/error/error.jsp" /> </global-forwards> <action-mappings> <action name="certificateform" parameter="LIST" path="/graduatedata/list" scope="request" type="com.xindeco.presentation.graduatedata.CertificateAction" validate="true"> <forward name="success" path="/graduatedata/listcertificate.jsp" /> </action> </action-mappings> …… </struts-config>

7、最后当然是最重要的分页代码了:Pager.java

java代码:

代码:

package com.xindeco.common; import java.util.* ; public class Pager { private static int MAX_PAGE_INDEX = 10; //页脚显示多少页 private static String HEADER = "Result page"; public static String generate(int offset, int length, int size, String url) { if (length > size) { String pref; if (url.indexOf("?") > -1) { pref = "&"; } else { pref = "?"; } String header = "<font face=''Helvetica'' size=''-1''>"+HEADER+": "; if (offset > 0) { header += "&<a href=\""+url+pref+"pager.offset="+(offset-size)+"\">[<< Prev]</a>\n"; } int start; int radius = MAX_PAGE_INDEX/2*size; if (offset < radius) { start = 0; } else if(offset < length-radius) { start = offset - radius; } else { start = (length/size-MAX_PAGE_INDEX)*size; } for(int i=start;i<length && i < start + MAX_PAGE_INDEX*size;i+=size) { if (i == offset) { header += "<b>"+(i/size+1)+"</b>\n"; } else { header += "&<a href=\""+url+pref+"pager.offset="+i+"\">"+(i/size+1)+"</a>\n"; } } if(offset < length - size) { header += "&<a href=\""+url+pref+"pager.offset="+((int)offset+(int)size)+"\">[Next >>]</a>\n"; } header += "</font>"; return header; } else { return ""; } } }

这部分代码的实现相当简洁,但已经足够完成所需了。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号