2007-06-13
Jmesa系列(二)Jmesa源码的包结构解读:
关键字: jmesa
Jmesa源码的包结构大致分为四个包:
org.jmesa.core Jmesa的核心包,所下面定义下最核心的接口CoreContext,CoreContext的作有容后再述,下面有四个子包:
org.jmesa.core.filter 过滤器(按条件对纪录进行过滤)
org.jmesa.core.sort 排序,该包提供纪录按指定列进行排序的功能
org.jmesa.core.message I18N资源文件实现,使用Java内置的ResourceBundle实现。较简单
org.jmesa.core.preference Jmesa选项,使用Java内置Properties实现。也较简单
org.jmesa.limit 该包提供对纪录进行过滤的功能,limit的原意为限制,这里表现为过滤。Jmesa提供接口让开发人员自定义存放Limit的地方。该接口就是位于该包 下面子包state下的State接口,用来保存当前用户查询选项或参数的状态,这些参数可能包括过滤条件(Filter),排序条件(Sort)以及分 页信息等。
org.jmesa.view 视图,亦即展现。该包下定义了展现表格的接口及提供了两种实现,CSV及HTML。展现的原理很简单,一个视图拥有一个被展现的组件(Component)和渲染器(Renderer)。使用渲染器来渲染组件。那么自然而然,View包下面又看到两个子包:
org.jmesa.view.component 定义了表格需要的组件,即表格,行,列。
org.jmesa.view.renderer 定义表格所需要的一系列渲染器,如行渲染,列渲染,单元格渲染等
org.jmesa.web 为在Web环境中使用Jmesa提供的一系列便利的类。
这就是Jmesa源码的分布。个人觉得结构很清晰明白,代码看起来也不费力。代码是最有说服力的文档。有时候,看文档还比不上直接读源码。
org.jmesa.core Jmesa的核心包,所下面定义下最核心的接口CoreContext,CoreContext的作有容后再述,下面有四个子包:
org.jmesa.core.filter 过滤器(按条件对纪录进行过滤)
org.jmesa.core.sort 排序,该包提供纪录按指定列进行排序的功能
org.jmesa.core.message I18N资源文件实现,使用Java内置的ResourceBundle实现。较简单
org.jmesa.core.preference Jmesa选项,使用Java内置Properties实现。也较简单
org.jmesa.limit 该包提供对纪录进行过滤的功能,limit的原意为限制,这里表现为过滤。Jmesa提供接口让开发人员自定义存放Limit的地方。该接口就是位于该包 下面子包state下的State接口,用来保存当前用户查询选项或参数的状态,这些参数可能包括过滤条件(Filter),排序条件(Sort)以及分 页信息等。
org.jmesa.view 视图,亦即展现。该包下定义了展现表格的接口及提供了两种实现,CSV及HTML。展现的原理很简单,一个视图拥有一个被展现的组件(Component)和渲染器(Renderer)。使用渲染器来渲染组件。那么自然而然,View包下面又看到两个子包:
org.jmesa.view.component 定义了表格需要的组件,即表格,行,列。
org.jmesa.view.renderer 定义表格所需要的一系列渲染器,如行渲染,列渲染,单元格渲染等
org.jmesa.web 为在Web环境中使用Jmesa提供的一系列便利的类。
这就是Jmesa源码的分布。个人觉得结构很清晰明白,代码看起来也不费力。代码是最有说服力的文档。有时候,看文档还比不上直接读源码。
评论
zhongxuchen
2008-05-04
能不能介绍一下jmesa中的导excel之类的工作原理,主要疑问在action处理时怎么确定其要导出的字段信息(页面现实可以通过标签确定现实字段)
karan
2007-08-27
不知道他的分页问题解决了没有。如果数据量大的话,就不能在内存中分页了。还要自己去实现limit接口,不爽。
我想我是海
2007-07-01
加你为好友了.我GTalk的ID:bbmyth
phpxer
2007-06-30
我也正在学习,多多指教。
订阅里你的bolog。
还能用QQ等联系你么?最好是Google Talk。
订阅里你的bolog。
还能用QQ等联系你么?最好是Google Talk。
发表评论
- 浏览: 83831 次

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
JBPM gop的四个模型
...
-- by protess123 -
另类的Jquery与Prototype ...
这个方案更合适现有Jquery的代码升级至Jquery + prototypt。 ...
-- by ayeah -
介绍ExtremeTable的下一代 ...
还是不喜欢用taglib
-- by baichinie -
Jmesa系列(三)开始使用 ...
也不算就很长了, WebContext webContext = new H ...
-- by spiritfrog -
介绍ExtremeTable的下一代 ...
不好意思,刚没注意有个附件就是demo的。
-- by spiritfrog






评论排行榜