游弋在移动互联网的银狐999

招募敢挑战的Android、IOS、Java小伙伴,发我邮件jameshu999@163.com

struts-layout的缺陷之一

        这几天捣鼓了一下struts-layout这个TagLib,当然,因为应用的关系,只适用了其collection列表相关的部分,总体来说感觉是不错的,比如对分页和排序都提供了比较不错的解决方案,虽然现在对于sortType的支持还很局限。

        但是,却依然也存在一些缺陷,让你不得不“重写一些方法,甚至覆盖一个完整的类来完善”,当然,这本身也是TagLib机制本身的缺陷之一,至少JSP TagLib的扩展机制不够良好。
       
        Struts-Layout虽然支持整个列表的styleClass和collectionItem到styleClass的样式设置,但唯独缺少了对TR(每行)的样式设置。—— 这种缺陷是很严重了,特别是对于国内web应用来说,实现隔行换色、选行着色之类的应用,要大打折扣了。

  正如刚刚所说的那样,TagLib的机制是“限制型”的,属性一旦申明是不可扩展的;其次,Struts-Layout在实现过程中,对于行为,也没有提供比较好的“接口化扩展”。比如对于某一行的渲染,其代码是写死在BasicCollection类中的,而没有任何其他可以“Plugin”的接口或途径。

  为了让Struts-Layout的Collection Tag能够支持设置TR的渲染样式,我不得不做了如下的操作:
  (1)重新写了一个类XXXCollectionTag extends CollectionTag,重新申明了一个styleClassTR的属性;
  (2)重写了XXXBasicCollection extends BasicCollection,重写写一个doStartItem这个方法。
  (3)修改struts-layout.tld文件,增加一个collection tag的属性描述。
        (4)修改了Struts-Layout.properties配置文件,如下:

# implementor of the CollectionInterface to use
collection.class = fr.improve.struts.taglib.layout.util.BasicCollection

阅读更多
文章标签: 扩展 jsp web
想对作者说点什么? 我来说一句

C陷阱与缺陷.rar(pdf格式)

2009年09月10日 4.68MB 下载

Struts-Layout使用Demo

2013年01月25日 1.69MB 下载

c缺陷与陷阱pdf高清版

2012年09月16日 241KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭