`
leadyu
  • 浏览: 51448 次
  • 性别: Icon_minigender_1
  • 来自: 广州,福州
文章分类
社区版块
存档分类
最新评论

Jwebap项目(三)——plugin视图框架设计(2)

阅读更多
二,plugin视图框架

上面一篇说了,jwebap为了部署方便,所有的视图都放在jar包,那么就需要提供一套视图框架,给plugin的实现者开发视图。
视图的实现通过封装第三方的模版引擎实现,相应的提供分发和mvc框架实现,我们先看一看,一个具体的jwebap视图请求,会是怎么样的:



dispatcher层
视图框架提供了类似filter的实现机制,这对我们有什么用呢,我们看看上图。对于静态文件的请求,比如图片,我们可以通过
FileDispatcher分发处理,而对于需要进行运算的业务视图处理,可以通过ActionDispatcher进行分发处理。

细心的话,我们还会发现对于同一mapping,Dispatcher的实现还存在一个链。这主要是可以让Plugin实现者可以对请求进行额外的处理
比如上图的EncodingSetterDispatcher,可以在处理视图前处理编码。

另外,如果plugin实现者不想使用这套视图框架,他完全可以实现自己的Dispatcher,把请求分发到他自己的视图框架中。

processor层
处理逻辑层。FileProcesser读取静态文件,返回。ActionProcesser根据URL映射到action上,进行视图处理。

action层
处理具体的视图请求。Action又分:模版视图处理Action,动态图片处理Action,等等,各种Action通过Support类
进行支持,如

TemplateActionSupport:调用模版引擎,action实现者只需要计算好模版Comtext,具体的展现交给了
TemplateActionSupport。

PicActionSupport:动态视图Action,有些图片的请求是需要计算的,比如统计图表,这种图片需要运算生成,所以只要继承实现
PicActionSupport,实现图片的计算,具体的输出也交给了PicActionSupport。
[img][/img][img]
  • 大小: 107.1 KB
分享到:
评论
2 楼 leadyu 2007-12-28  
javatar 写道
Dispatcher和Servlet的设计风格很相似, Processer和Action更像一个Web框架, jwebap提供这些会不会跃位了?
不提供这些不行,plugin的开发者需要视图,那么需要有手段能够让他们自己编写视图嵌入到web console中,当然可以采用其他的视图技术,但是我更希望所有的plugin都是以jar包的形式提供,部署简易。

而采用模版技术,MVC框架是不可避免的。
1 楼 javatar 2007-12-28  
Dispatcher和Servlet的设计风格很相似, Processer和Action更像一个Web框架, jwebap提供这些会不会跃位了?

相关推荐

Global site tag (gtag.js) - Google Analytics