锁定老帖子 主题:show下我的分页类
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-18
bubble 写道 支持一下楼主,给你贴一个我最近写的一个分页:
package org.base; import java.util.List; /** * * @author Bubble zheshexian@gmail.com * */ public class Page { .... 呵呵,兄弟, 俺献丑了, |
|
返回顶楼 | |
发表时间:2008-11-18
上一站,火星 写道 有啥好show的?写的这么烂
给人家留点面子唉,呵呵,看得出来工作不久,态度很好,我觉得这已经足够了,设计上的不足要加强学习了 |
|
返回顶楼 | |
发表时间:2008-11-18
my pagination source code package commons.param; import java.io.Serializable; import java.util.List; import commons.util.Assertion; public class Pagination implements Serializable { /** * */ private static final long serialVersionUID = -8771057905059891041L; public static final int DEFAULT_SIZE = 20; /** items */ private List items; /** index */ private int index = 1; /** size */ private int size = DEFAULT_SIZE; /** count */ private int count = -1; /** count or not */ private boolean counted = false; public Pagination() { } public Pagination(int size) { Assertion.isPositive(size, "The [size] argument should be greater than zero."); this.size = size; } public Pagination(List items, int count, int index, int size) { this.setItems(items); this.setCount(count); this.setIndex(index); this.setSize(size); } /** * item count in current page * * @return */ public int getLength() { if (null != items) { return items.size(); } return 0; } //setter/getter of private members //... } //Assertion package commons.util; import org.springframework.util.Assert; public class Assertion extends Assert { //...other Asserts public static void isPositive(long value, String message) { if (value <= 0) { throw new IllegalArgumentException(message); } } //...other Asserts } Web browser(IE,FireFox) get response data in json format(generate by freemarker) from server(WebWork) //pagination.json.ftl //usage: <#include "/system/support/pagination.json.ftl" /> { pagination: { <#if pagination ? exists> index: ${(pagination.index)?default(1)}, length: ${(pagination.getLength())?default(0)}, size: ${(pagination.size)?default(20)}, count: ${(pagination.count)?default(0)}, counted: ${(pagination.counted)?string("true","false")} <#else> index: 1, length: 0, size: 10, count: 0, counted: false </#if> } } render view with js component function XPagination() { //... } var xpagination = new XPagination(o.pagination); |
|
返回顶楼 | |
发表时间:2008-11-18
很糟糕的编码风格
|
|
返回顶楼 | |
发表时间:2008-11-18
@xuming9
1 赞赏搂主晒代码的勇气! 2 分页类应该只是分页参数类,尽量做到简单,不应该耦合HttpServletRequest/HttpServletResponse/DaoFactory @qianlei007 建议分页参数类不要加入过多其他计算方法,这些方法可由js处理 @simon511 排序可以再加入一个OrderMode之类的类处理,这样底层开放的接口可以灵活些 List find(Pagination pagination,OrderMode orderMode); List find(Pagination pagination); 欢迎排砖 |
|
返回顶楼 | |
发表时间:2008-11-18
最后修改:2008-11-18
my js component screenshot
|
|
返回顶楼 | |
发表时间:2008-11-18
赞扬lz的勇气和精神,但不得不说的是,这段代码真的让人看不下去...
|
|
返回顶楼 | |
发表时间:2008-11-19
感谢楼上提出的意见,争取下次show段让你们满意的代码
|
|
返回顶楼 | |
发表时间:2008-11-19
呵呵
有时候不要直接说别人写的差啊!! 你可以指出别人的不足啊 把你好的贴出来啊!! 别人贴出来也是希望你指点的啊!!! |
|
返回顶楼 | |
发表时间:2008-11-19
觉得楼主挺好,代码敢秀出来,不然得不到别人的评价,
也就没有改进的机会了,试问工作的时候有多少同事会有时间去提醒你,如果他们看不懂的代码估计就直接鄙视你一翻了。 再乱的代码也要看,不然没办法啊。 在修改旧系统的时候,我就接触了好多风格迥异的代码, 看的也很郁闷,不过看久了就基本了解当时写代码那个人的风格了 不知不觉在他写的代码上修改,风格几乎和原来的一样 有点郁闷,又没太多时间重写。 |
|
返回顶楼 | |