`
izuoyan
  • 浏览: 9222906 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    struts2-layout

    Struts2布局(Struts2-layout)是Apache Struts2框架的一个扩展,它提供了一种组织和呈现Web应用用户界面的机制。Struts2作为Java Web开发中的MVC(Model-View-Controller)框架,其核心功能在于帮助开发者构建结构...

    Struts-Layout-1.3.jar

    这个jar包,无法通过maven的pom.xml自动挂载下载,因为现在公共库中不存在,所以你需要手动下载到自己的工程中

    Struts-Layout使用Demo

    对java struts-layout开发讲解的非常详细 并有实例演示并且有代码可以参考 好不容易弄到的好东西和大家一起分享

    struts-config.xml struts标准配置文件 struts-config

    struts-config.xml struts标准配置文件 struts-config

    struts-taglib-1.3.8.jar

    struts-taglib-1.3.8.jar struts-taglib-1.3.8.jar

    struts-menu文件

    Struts-menu是一个专门为Apache Struts框架设计的菜单生成和管理工具。它简化了在Web应用中创建动态、可配置的导航菜单的过程。Struts-menu提供了一种声明式的方式来定义菜单结构,使得开发者无需编写大量的HTML和...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    struts-core-1.3.8-API文档-中文版.zip

    赠送jar包:struts-core-1.3.8.jar; 赠送原API文档:struts-core-1.3.8-javadoc.jar; 赠送源代码:struts-core-1.3.8-sources.jar; 赠送Maven依赖信息文件:struts-core-1.3.8.pom; 包含翻译后的API文档:struts...

    struts-2.3.7-all

    struts-2.3.7-all jar包

    jakarta-struts-1.1.zip_jakarta-Struts-1_jakarta-struts 1_jakarta

    `struts-documentation.war`文件是一个预打包的Web应用,通常用于部署到Servlet容器,如Tomcat或Jetty。这个WAR文件内含有Struts框架的API文档,开发者可以通过解压并部署这个WAR文件,在Web服务器上访问到Struts的...

    struts-spring-other-lib 等jar包

    struts-spring-other-lib 等jar包struts-spring-other-lib 等jar包struts-spring-other-lib 等jar包struts-spring-other-lib 等jar包struts-spring-other-lib 等jar包struts-spring-other-lib 等jar包struts-spring-...

    struts-config详解

    一、struts-config.xml的主要元素 * 数据源配置(<data-sources>):用于配置struts应用程序的数据源,例如数据库连接池等。 * 表单Bean配置(<form-beans>):用于配置struts应用程序的表单Bean,例如用户信息、...

    struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar

    struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar

    struts-1.2.9-lib.zip和struts-1.2.9-src.zip

    2. **标签库**:包括`struts-bean.jar`、`struts-html.jar`、`struts-logic.jar`和`struts-nested.jar`等,提供了一系列预定义的JSP标签,如logic标签用于流程控制,bean标签用于展示数据,html标签则用于表单元素的...

    struts-1.3.8-all.zip

    - **struts-core.jar**、**struts-el.jar**、**struts-faces.jar**等:特定功能的扩展库,如支持EL(Expression Language)和JSF(JavaServer Faces)。 使用Struts 1.3.8时,开发者需要配置web.xml和struts-config...

    struts-el-1.3.10.jar struts-el.jar strutsEL标签库

    struts-el-1.3.10.jar struts-el.jar strutsEL标签库

    struts-1.3.8-lib(new)

    总的来说,"struts-1.3.8-lib(new)"这个压缩包代表了一个针对Struts 1.3.8版本的更新,特别关注了JSTL和Standard库的升级,这将影响到应用的视图层和与Servlet容器的交互。对于使用Struts 1.3.8的开发者来说,这是一...

    Struts-Menu实例教程

    Struts-Menu是一个基于Apache Struts框架的菜单生成库,它可以帮助开发者轻松地在Web应用中创建动态、可配置的菜单结构。这个实例教程将深入介绍如何使用Struts-Menu来构建用户界面的导航系统。 1. **Struts框架...

Global site tag (gtag.js) - Google Analytics