struts-layout的缺陷之一

原创 2006年06月18日 22:24:00

        这几天捣鼓了一下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

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Struts2框架缺陷造成的远程执行漏洞-解决方案

Struts2既然是java的同志都学过Struts2框架,Struts2在旧版本上面是有漏洞的,Apache官方也有说明 网上大部分意见就是升级Struts2,因为在新版本已经解决这问题 CVE...

Struts2框架安全缺陷

摘要 本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问题,以及作者挖掘框架安全漏洞的一些心得体会。 推荐以下人...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Struts2框架安全缺陷(下)

struts2的taglib设计缺陷(并不是所有输出标签都做了默认的htmlescape) 有几个标签是不做htmlescape的,比如 这其实是一个严重陷阱,...

Struts2框架安全缺陷

本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问 题,以及作者挖掘框架安全漏洞的一些心得体会。 推荐以下...

How to Use Struts Layout

Struts-layout is a tag library of helpful layout commands included in the Struts framework. When a s...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)