- 浏览: 260277 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
591945028:
[b][b][b][b][b][b][/b][/b][/b][ ...
spring事务 -
Gozs_cs_dn:
根据你的配置, 注解事务似乎无效呢?
spring事务 -
lianchun_zheng:
...
ajax读取json数据 -
yueliancao:
真好 高手
源码编译安装mysql(适用于5.5全部版本) -
jyjava:
Castor,Jaxb,xbean,xStream
spring jdbctemplate 实体属性映射值为null
这几天一直在看je的分页显示觉得做的非常不错.很合理人性化.于是乎自己也想搞个.网上找了找.貌似je用的是displaytag组件实现的..自己实在是懒.没去看.从网上找了段代码,然后修修补补改成如下格式
不过没有je做的好.有些地方没多想.请大家完善(这里的css是借用je的..robbin老大多包涵)
然后发算法类
css
html代码
算法一点都不简洁.请大家帮忙完善,谢谢了
上例子程序
我就不传包了.太慢,一共需要4个包
dbcp的三个.一个数据库连接.一个spring核心包,大家自己添加好了..spring的是2.5.6的
不过没有je做的好.有些地方没多想.请大家完善(这里的css是借用je的..robbin老大多包涵)
然后发算法类
package com.smallq.util; import java.util.ArrayList; import java.util.List; public class RefactorPage { public static void main(String[] args) { List<String> l = RefactorPage.getPageHref(7, 4, "pageAction.do?page"); for (String s : l) { System.out.println(s); } } /** * 分页链接显示 * * @param totalPage * @param page * @param url * @return */ public static List<String> getPageHref(int totalPage, int page, String url) { List<String> list = new ArrayList<String>(); list.add("<div class='pagination'>"); // 判断是否首页 if (page != 1) { list.add("<a href=" + url + "=" + (page - 1) + " class='prev_page' rel='prev start'>« 上一页</a> "); } else { list.add("<span class='disabled prev_page'>« 上一页</span> "); } // 如果总页数小于7,全部输出 if (totalPage < 7) { outAll(totalPage, page, url, list); } // 如果一共7页 if (totalPage == 7) { // 如果是前两页 if (page < 3) { previousTwoPage(page, url, list); addFootPage(totalPage, url, list); } else // 如果是最后两页 if (page > totalPage - 2) { addHeadPage(url, list); lastTwoPage(totalPage, page, url, list); } else { outAll(totalPage, page, url, list); } } // 如果总页数是8 if (totalPage == 8) { // 如果是前两页 if (page < 3) { previousTwoPage(page, url, list); addFootPage(totalPage, url, list); } else // 如果是最后两页 if (page > totalPage - 2) { addHeadPage(url, list); lastTwoPage(totalPage, page, url, list); // 第三页 } else if (page == 3) { thirdPage(page, url, list); addFootPage(totalPage, url, list); // 倒数第三页 } else if (page == totalPage - 2) { countDownThirdPage(totalPage, page, url, list); } else { { outAll(totalPage, page, url, list); } } } // 如果总页数是9 if (totalPage == 9) { // 如果是前两页 if (page < 3) { previousTwoPage(page, url, list); addFootPage(totalPage, url, list); } else // 如果是最后两页 if (page > totalPage - 2) { addHeadPage(url, list); lastTwoPage(totalPage, page, url, list); // 第三页 } else if (page == 3) { thirdPage(page, url, list); addFootPage(totalPage, url, list); // 倒数第三页 } else if (page == totalPage - 2) { countDownThirdPage(totalPage, page, url, list); // 第四页 } else if (page == 4) { forthPage(page, url, list); addFootPage(totalPage, url, list); // 倒数第四页 } else if (page == 6) { addHeadPage(url, list); countDownForthPage(totalPage, page, url, list); } else { { outAll(totalPage, page, url, list); } } } // 如果总页数是10 if (totalPage == 10) { // 如果是前两页 if (page < 3) { previousTwoPage(page, url, list); addFootPage(totalPage, url, list); } else // 如果是最后两页 if (page > totalPage - 2) { addHeadPage(url, list); lastTwoPage(totalPage, page, url, list); } else if (page == 3) { thirdPage(page, url, list); addFootPage(totalPage, url, list); } else if (page == totalPage - 2) { countDownThirdPage(totalPage, page, url, list); } else if (page == 4) { forthPage(page, url, list); addFootPage(totalPage, url, list); } else if (page == totalPage - 3) { addHeadPage(url, list); countDownForthPage(totalPage, page, url, list); } else if (page == 5) { fifthPage(page, url, list); addFootPage(totalPage, url, list); } else if (page == totalPage - 4) { addHeadPage(url, list); countDownFifthPage(totalPage, page, url, list); } else { { outAll(totalPage, page, url, list); } } } if (totalPage > 10) { // 如果是前两页 if (page < 3) { previousTwoPage(page, url, list); addFootPage(totalPage, url, list); } else // 如果是最后两页 if (page > totalPage - 2) { addHeadPage(url, list); lastTwoPage(totalPage, page, url, list); // 如果是第三页 } else if (page == 3) { thirdPage(page, url, list); addFootPage(totalPage, url, list); } else if (page == totalPage - 2) { countDownThirdPage(totalPage, page, url, list); // 第4页 } else if (page == 4) { forthPage(page, url, list); addFootPage(totalPage, url, list); } else if (page == totalPage - 3) { addHeadPage(url, list); countDownForthPage(totalPage, page, url, list); } else if (page == 5) { fifthPage(page, url, list); addFootPage(totalPage, url, list); } else if (page == totalPage - 4) { addHeadPage(url, list); countDownFifthPage(totalPage, page, url, list); } else { addHeadPage(url, list); // 中间 list.add("<a href=" + url + "=" + (page - 1) + ">" + (page - 1) + "</a>"); list.add("<span class='current'>" + page + "</span>"); list.add("<a href=" + url + "=" + (page + 1) + ">" + (page + 1) + "</a>"); // 后段 addFootPage(totalPage, url, list); } } // 判断是否尾页 if (page != totalPage) { list.add(" <a href=" + url + "=" + (page + 1) + " class='next_page' rel='next'>下一页 »</a>"); } else { list.add(" <span class='disabled next_page'>下一页 »</span>"); } list.add("</div>"); return list; } /** * 输出全部 * * @param totalPage * @param page * @param url * @param list */ private static void outAll(int totalPage, int page, String url, List<String> list) { for (int i = 0; i < totalPage; i++) { if ((i + 1) == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; if (page == totalPage) break; } list.add("<a href=" + url + "=" + (i + 1) + ">" + (i + 1) + "</a>"); } } /** * 前两页 * * @param page * @param url * @param list */ private static void previousTwoPage(int page, String url, List<String> list) { for (int i = 0; i < 3; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; } list.add("<a href=" + url + "=" + (i + 1) + " rel='next'>" + (i + 1) + "</a>"); } } /** * 后两页 * * @param totalPage * @param page * @param url * @param list */ private static void lastTwoPage(int totalPage, int page, String url, List<String> list) { for (int i = totalPage - 3; i < totalPage; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; if (page == totalPage) break; } list.add("<a href=" + url + "=" + (i + 1) + ">" + (i + 1) + "</a>"); } } /** * 第三页 * * @param page * @param url * @param list */ private static void thirdPage(int page, String url, List<String> list) { for (int i = 0; i < 4; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; } list.add("<a href=" + url + "=" + (i + 1) + " rel='next'>" + (i + 1) + "</a>"); } } /** * 倒数第三页 * * @param totalPage * @param page * @param url * @param list */ private static void countDownThirdPage(int totalPage, int page, String url, List<String> list) { addHeadPage(url, list); for (int i = totalPage - 4; i < totalPage; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; if (page == totalPage) break; } list.add("<a href=" + url + "=" + (i + 1) + ">" + (i + 1) + "</a>"); } } /** * 第四页 * * @param page * @param url * @param list */ private static void forthPage(int page, String url, List<String> list) { for (int i = 0; i < 5; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; } list.add("<a href=" + url + "=" + (i + 1) + " rel='next'>" + (i + 1) + "</a>"); } } /** * 倒数第四页 * * @param totalPage * @param page * @param url * @param list */ private static void countDownForthPage(int totalPage, int page, String url, List<String> list) { for (int i = totalPage - 5; i < totalPage; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; if (page == totalPage) break; } list.add("<a href=" + url + "=" + (i + 1) + ">" + (i + 1) + "</a>"); } } /** * 倒数第五页 * * @param totalPage * @param page * @param url * @param list */ private static void countDownFifthPage(int totalPage, int page, String url, List<String> list) { for (int i = totalPage - 6; i < totalPage; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; if (page == totalPage) break; } list.add("<a href=" + url + "=" + (i + 1) + ">" + (i + 1) + "</a>"); } } /** * 第五页 * * @param page * @param url * @param list */ private static void fifthPage(int page, String url, List<String> list) { for (int i = 0; i < 6; i++) { if (i + 1 == page) { list.add("<span class='current'>" + page + "</span>"); i = i + 1; } list.add("<a href=" + url + "=" + (i + 1) + " rel='next'>" + (i + 1) + "</a>"); } } /** * 添加尾部 * * @param totalPage * @param url * @param list */ private static void addFootPage(int totalPage, String url, List<String> list) { list.add(" <span class='gap'>…</span> "); list.add("<a href=" + url + "=" + (totalPage - 1) + ">" + (totalPage - 1) + "</a>"); list.add("<a href=" + url + "=" + (totalPage) + ">" + (totalPage) + "</a>"); } /** * 添加头 * * @param url * @param list */ private static void addHeadPage(String url, List<String> list) { list.add("<a href=" + url + "=" + (1) + ">" + (1) + "</a>"); list.add("<a href=" + url + "=" + (2) + ">" + (2) + "</a>"); list.add(" <span class='gap'>…</span> "); } }
css
body { text-align: left; font-family: Arial, sans-serifarial, Verdana, Helvetica; font-size: 12px; line-height: 1.5; color: black; } .pagination { padding: 5px; float: left; } .pagination a,.pagination a:link,.pagination a:visited { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #aaaadd; text-decoration: none; color: #006699; } .pagination a:hover,.pagination a:active { border: 1px solid #006699; color: #000; text-decoration: none; } .pagination span.current { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #006699; font-weight: bold; background-color: #006699; color: #FFF; } .pagination span.disabled { padding: 2px 5px 2px 5px; margin: 2px; border: 1px solid #eee; color: #ddd; }
html代码
<% PageOP p = new PageOP(); List<String> pages = p.getPageHref(pageobj.getPageCount(), pageobj .getNowPage(),"index.jsp?page"); for(String s:pages){ out.print(s); } %>
算法一点都不简洁.请大家帮忙完善,谢谢了
上例子程序
我就不传包了.太慢,一共需要4个包
dbcp的三个.一个数据库连接.一个spring核心包,大家自己添加好了..spring的是2.5.6的
发表评论
-
spring jdbctemplate 实体属性映射值为null
2009-12-17 23:50 11914今天在做mysql和derby数 ... -
ajoo经典文章.你擦了吗
2009-12-16 22:39 1687这是从百度找到的.原文已经被删除了..悲剧.可惜那么多 ... -
给C++初学者的忠告
2009-10-27 20:41 1160原文:http://love21keai.iteye.com/ ... -
第一次出现java bug
2009-10-27 16:18 1688用了2年多java了.还是第一次出现直接崩溃的系统bug. ... -
jdk1.5增强的for循环
2009-08-20 00:07 3698jkd1.5提供了对for循环的加强。在特定的场合很大的简化了 ... -
java反射浅析
2009-08-19 23:59 1214在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属 ... -
==和eauals的区别
2009-08-18 20:36 1944一直对==和equals方法判断相等很模糊。今天又仔细看了下。 ... -
怎么重构
2009-07-22 22:22 1214今天下定决心弄明白je的分页.捣鼓了快一个小时才弄明白规律. ... -
两种转码方式的区别
2009-07-18 11:58 1798这是张孝祥老师的java就业培训视频教程里面的一道题目(有所变 ... -
java自动装箱拆箱
2009-07-02 19:27 1870java的自动置入和取出对原生类型进行了自动转换 看如下代码 ... -
泛型(Generics)简说
2009-07-02 15:14 2367泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得 ... -
MD5加密类
2009-05-20 16:45 64package com.qihang.street.utils ... -
JDBC
2009-04-23 17:18 152本帖已被删除 -
java控制字符不能输入特殊字符和空格
2009-02-25 16:37 692import java.util.regex.Patter ... -
Javamail操作指南
2009-03-19 13:14 126import java.util.*; import jav ... -
Java实现给图片添加水印
2009-03-19 13:18 1326import java.awt.*; import j ... -
java读取远程url图片,得到宽高
2009-03-27 16:04 12800import java.awt.image.BufferedI ...
相关推荐
标签:sleepycat、je、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
标签:sleepycat、je、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Oracle BerkeleyDB-JE je-6.0.11
丝印HX-JE无感升压芯片2.5v-5v
je-analysis-1.5.1分词器, je-analysis-1.5.1分词器, je-analysis-1.5.1分词器,
HX=JE芯片无感升压IC输入电压2.7V-4.5V
JE-C伺服控制要点,方便plc对伺服关键寄存器读写
三菱伺服MR-JE使用手册,欢迎下载。欢迎下载
主要讲解三菱MR-JE-C产品,在配置文件方式控制模式下,通过CC-LINK IE Field Basic通讯,实现伺服原点回归、定位控置、速度控制功能。 一、内容包括:JE-C控制样例程序 +说明、JE-C伺服放大器资料集+轨迹模式篇 ...
MR-JE技术资料集
三菱MR-JE-C伺服电机FB功能块(适用Q系列PLC) 流水线项目,16个MR-JE-C电机,为了加快编程速度,特意做的一个FB功能块,内部采用局部变量+全局缓冲区的方式进行编程,多次调用不冲突! 适用于Q系列PLC和MR-JE-C的运动...
著名的嵌入式内存数据库Berkeley DB je3.3版,轻量级,快捷好用。
enshu JE60S 培训资料,讲解设备运行中各种故障的修复
JE-Analysis1.5.1.jar JE-Analysis1.4.0.jar
je-analysis-1.5.3.jar 极难下到,压缩文件打开就是jar, 经金山毒霸扫描安全
Eijiro V86 JE~EJ.zip.006Eijiro V86 JE~EJ.zip.006Eijiro V86 JE~EJ.zip.006
enshu JE60S维修手册,设备运行时,所有故障的维修代码
MR-JE-B技术资料集manual_2015210173530294.pdf
je-android-5.0.34.jar
java lucene 开源全文检索,中文分词组件之 je-analysis-1.5.3