这是一个目前最好的一个开源分页标签的实现
---extremeTable标签。今天谈谈它的
Limit的设计架构思想。
这个设计很通用,经过作者的多次重构,现在extremeTable的架构非常漂亮。这个标签现在缺点是有些参数对mvc控制器屏蔽了,应提供一致的对外接口。不过整体上设计还是很精致的,面向对象来处理 html元素,与spring非常的默契
,非常便于开发和测试。
类图关系
1, 工厂
LimitFactory
TableLimitFactory,
AbstractLimitFactory,
LimitFactory
TableLimitFactory是最终实现的工厂,它
extends了
AbstractLimitFactory抽象类,
AbstractLimitFactory 类
implements了
LimitFactory接口。
TableLimitFactory主要是用来实例化,通过构造函数传入参数。同时创建
Registry来完成
jsp页面参数传入
Registry。当然还有一个功能就是从
web.xml的配置文件读取一些全局参数。首先读取配置文件参数,然后根据参数创建
LimitRegistry对象。
this.registry = new LimitRegistry(context, tableId, prefixWithTableId, state, stateAttr);
AbstractLimitFactory主要是用来获取
jsp页面上设置的参数,比如分页的信息(第几页,起始行,结束行,每页显示行数,查询条件,排序条件等),当然他是通过工具类
Registry来实现。
2, Limit
TableLimit,
Limit。其主要作用是一个参数参数器,就是把
Registry对象的参数传入
TableLimit,考虑到分层吧,
TableLimit是该标签和
action通信的桥梁。就像我们的
j2ee项目
vo是
dao和
struts等
view等数据传输工具。
3, Preferences
TableProperties,
Properties 主要是来实现从
web.xml配置的文件中读取配置的一些全局参数。
InputStream input = this.getClass().getResourceAsStream(preferencesLocation);
if (input != null) {
properties.load(input);
}
其中
preferencesLocation是路径,在
TableLimitFactory初始化时候,
通过工具类
TableModelUtils.getPreferencesLocation(context)获取。
这个设计也是大多数需要配置文件的系统常用的方法。
4, Registry
LimitRegistry,
AbstractRegistry,
Registry
这个体系结构和上面的工厂模式一样,就是
LimitRegistry主要是用来实例化,通过构造函数传入参数。
AbstractRegistry是实际实现类,获取
jsp表单提交的参数,并提供
getter方法供
Limit来使用。
Registry是一个接口。
所以这设计模式,我们可以来学习,
经典表述:类
—
抽象类
—
接口
l
类:初始化,定义构造函数,传入参数。
l
抽象类:定义业务方法在此。
l
接口:定义接口方法,这个不用多说。
(作者:asktalk 来自 http://www.blogjava.net/askltak
原创文章,转载请注明出处)
分享到:
相关推荐
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下....
用Hibernate + extremetable 实现的分页,和Hibernate 的分页,希望对大家有点帮助
eXtremeTable中文文档
eXtremeTable中文文档.pdf
eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档
博文链接:https://xinzhiz.iteye.com/blog/198102
我也刚开始看,感觉是个好东东,大家多多交流
extremeTable,开源的jsp 自定义标签,以表格的形式显示数据,当前最新版本为 1.0.1-M1. 它是一个类似display tag,valueList 等开源产品.
eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法
extremetable教程.pdf
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下.... 功能强大,易于扩展的extremetable就是个...
eXtremeTable使用指南
displayTag,extremeTable相关文章
个人认为spring mvc的设计十分精巧,前端用extremetable做的显示数据表格
eXtremeComponents是一系列提供高级显示的开源JSP 定制标签
rapid-validation 集成extremeTable列表分页组件,并简单扩展显示pageNumber 集成DBUnit及spring对数据库测试的支持 内置的分页查询PageInfo接口 Java日期转换的特殊处理,与My97DatePicker集成 内置最精简的ant构建...