Struts framework 本身提供了很多可扩展的组件或sub framework,方便的开发人员在其构架上构建web 层的应用系统。比如upload,collections ,logging 等等。让我们来看看两个比较重要的组件:validationg framework 和struts taglib。有关其他组件请参考Struts 用户手册(http://jakarta.apache.org/struts/userGuide)。
在struts1.1 中,新增了validation framework。增加了对form 数据提交的验证。将原本需要在ActionFrom Bean 的validate()进行的验证通过配置文件的描述进行验证。有关其详细信息,请参考http://home.earthlink.net/~dwinterfeldt 。个人建议对于小型应用系统可以采用这种配置方式,但是对于应用系统中有大量web 层表单应用的系统,并且业务需求变动比较大的,使用validation framework 可能会加重开发难度、系统维护难度。可以借鉴validation framework 的Javascript Validator Tag。
struts 提供了一组可扩展的自定义标签库(TagLib),可以简化创建用户界面的过程。目前包括:Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags 这几个Taglib。
这个组件的全称是Bean Introspection Utilites。是属于Jakarta Commons 项目组的。主要是帮助构建javabean 的属性操作的(getter,setter),已经提供一种动态定义和访问bean 的属性。有关详细信息,请参考。
http://jakarta.apache.org/commons/beanutils.html
如果各位对这方面有很兴趣,可以参考一些有关java 反射(Reflectio)方面的资料。
这个组件主要是提供了一些集合或列表对象,在原有的java collections framework的基础上进行了扩展。
这个组件翻译成中文的意思是“汇编”。其主要功能是根据xml 配置文件,初始化系统的一些java 类对象。Digester 帮助你指定XML 与java 对象之间映射模型,而且允许客户话定制映射规则(rules)。