AspectJ
AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。
AspectWerkz
基于Java的简单、动态、轻量级、强大的AOP框架。既强大又简单,有助于更容易的集成AOP到新的或已存在的项目中。
AspectWerkz 主要特性:
1. 运行时和加载时字节码修正:你可以在运行时或编译时轻松的改造任何(旧)应用程序或除了rt.jar以外的外部类库
2. 支持join point模型
3. 支持Annotation:匹配JavaDoc和JSR-175,支持用户自定义Annotation
4. 支持部署多个Aspect定义文件到部署的应用程序(WEB-INF/aop.xml、META-INF/aop.xml)
5. Introduction/内类型声明(也称Mixin),也就是具有添加接口和实现到已存在的类中的能力
6. Annotation定义:定义Aspect使用的运行时Annotation(为JSR-175准备)
7. XML定义:定义Aspect使用的XML;XML可以用来精炼、改写和解析Annotation定义
8. 插件式Aspect管理器能够和IoC框架(如Spring或PicoContainer)一起工作
9. 四种不同的Advice和Introduction部署模型(范围):perJVM(单模式)、 perClass、perInstance 和perThread
10. Advice和Introduction能够动态部署、反部署或重新部署
11. 高性能,使用JIT编译
12. 使用Fine-grained模式语言选择join point
13. 所有Advice能够和所有的join point和各种混合类型的pointcut
14. 脱机变换(可以用作后处理器)
15. Aspect、Advice和Introduction使用POJO编码
16. 目标类可以是正规的POJO,也就是不需要接口
17. 支持通过定义传递参数给Advice和定义可重用的Advice堆栈
18. 元数据被加到类中
19. 简单的用法和配置
JBoss AOP
JBoss 4.0带了一个AOP框架。这个框架和JBoss应用服务器紧密地结合,但是你也能够在你的应用中,单独的运行它。
Spring AOP
Spring中AOP的实现就是通过动态代理来实现的。作为一种非侵略性的,轻型的AOP framework,你无需使用预编译器或其他的元标签,便可以在Java程序中使用它。
JAC
JAC (Java Aspect Components)是一个应用服务器。它为Java2平台、用于Java开发的企业开发环境(J2EE)、和基于Web的分布式应用,提供开放式资源的又一个选择(在GNU次常规公共许可证下发布)。JAC包括统一模型语言(UML)IDE,该UML IDE模块化应用商业逻辑并且自动生成和编译纯商业逻辑Java类。这些类,在JAC容器内执行,可从一组技术和/或商业的横切关系(crosscutting concerns)[1] 如数据持久性、认证、配置文件管理、访问权限检测、演示、和负载平衡中无缝地受益。基于面向方面编程技术(AOP)的JAC将这些关系( concerns)[2]从应用程序的核心商业逻辑中分离出来。
Struts
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件
Turbine
Turbine是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于Struts,但是有一些主要区别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。
WebWork
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】
Tapestry
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的 web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。 Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。
Spring MVC
Spring MVC是结构最清晰的MVC Model 2实现。它的Action也不叫Action,而是称做Controller;Controller接收request, response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。但在其它的Web Framework中,Action返回值一般都只是一个View Name;Model则需要通过其它的途径(如request.attribute,Context参数,或Action本身的属性数据)传递上去。
AppFuse
AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL)于一身的Web开发框架。AppFuse提供了Web系统开发过程中都需要开发的一些功能,如登陆、用户密码加密,用户管理、根据不同的用户可以展现不同的菜单.J2EE开发者也可以在此基础上开发加入自己的功能模块。利用这个框架可以大幅度的提高开发速度。
Cocoon
Stefano Mazzocchi于1999年1月创建了Cocoon项目,将其作为ASF之下的开放源代码项目。Cocoon的目标是帮助分离内容格式、逻辑和对基于 XML网站的管理功能。Cocoon使用XML, Extensible Stylesheet Language Transformations (XSLT), 以及 Simple API for XML (SAX) 技术,以帮助创建、部署和维护XML服务器应用程序。它支持大多数类型的数据源,包括RDBMS、LDAP和文件系统。
MyFaces
MyFaces是JavaServer(tm) Faces(JSF) Web框架 (JSR 127)的一个实现。JavaServer(tm) Faces Web框架是一个新的实现MVC模式的规范.它可以与Struts框架相媲美甚至的一些特性与观念已经超过了Struts.【FacesIDE:Eclipse下的一个辅助开发插件】
EasyJWeb
EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架充分借签了当前主要流行的开源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架。是一个能实现中小型 Web应用系统快速开发的简易Web框架。
通过EasyJWeb Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。
框架特点:
1、零配文件置支持。以前我们每接触一个框架,开始总都要被他的配置文件折腾一番。EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用。(适合小型网站系统)。
2、简易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板。
3、页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp页面难于维护的问题。
4、基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设置字段级的事件组件。
5、快速开发支持:通过EasyJWeb Tools,
Wicket
Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。一个结合Eclipse工具的Demo可以引导你如何利用Wicket来发开Web应用程序。
WebOnSwing
WebOnSwing是一个革命性的多环境应用程序框架.它允许你创建web 应用程序并可用同样的方式开发一个桌面程序.它不需要使用Jsp文件,特殊的标签,XML文件, requests, posts等,所有的都是Java与直接来自图形设计的HTML文件.这个框架使用Swing组件来构造和处理HTML页面,并允许使用MVC设计模式. 所有在Web上的工具都可以由Swing 提供.
JPublish
JPublish是一个功能强大的Web发布系统,设计为确保开发者角色的清晰的分离。JPublish 支持多模板引擎,包括Jakarta Apache's Velocity, FreeMarker and WebMacro。JPublish支持众多脚本语言,包括Python, BeanShell, and JavaScript。
Equinox
Equinox是AppFuse的一个轻量级版本。Equinox使用Spring MVC与Hibernate作为默认实现(数据库为:PostgreSQL)。但是你可以把Web框架改成JSF, Struts,Tapestry或WebWork。也可以把持久层框改成iBATIS,JDO(JPOX),Spring JDBC或OJB()。同时支持Ant和Maven2进行构建与测试。AppFuse与Equinox的不同之处在于AppFuse有以下特性:
1.使用Acegi Security进行授权和认证;
2.用户管理;
3.为基于增删改查(CRUD)的应用程序自动生成代码;
4.文件上传;
Demo:
Spring · Spring w/ Ajax
JSF
Struts
Tapestry
WebWork
https://equinox.dev.java.net/
JSPWidget
JSPWidget是一个Jsp框架,它提供了事件驱动,视图状态保留(view state retained),服务端GUI控制来使得JSP开发能够像在传统的窗体客户端与基于客户端的web应用程序中一样直观.
jPetStore
基于Struts与ibatis技术的java宠物店。
JSF-Spring
JSF-Spring是一个可以把JSF1.1 (JavaServer Faces)与Spring1.2框架的相互结合在起的一个组件.
Java Server Faces(JSF)
JavaServer(TM) Faces技术简化了JavaServer应用程序用户界面的开发.各种技术水平的开发者都能够快速创建web应用程序通过在一个页面中装配一些可重复使用UI组件;并可把这些组件与应用程序的数据源连接起来;也可把客户端产生的事件与服务端事件处理者连接起来.这个项目是Sun对JSF技术规范的最完整实现.
JBlooming
JBlooming是一个Java Web开发框架,这个框架尽可能得使用Java API和面向对象的思想来设计接口,所以没有使用标签。而是使用面向对象的Jsp模板技术。JBlooming主要的特点包括:灵活和强大:这个框架能够让你在任何情况下都可以使用java/jsp/html/js (包括AJAX)技术。一组成熟,漂亮的html组件并且可以很方便地切换到其它皮肤。提供自身校验功能。不需要使用XML,所有的配置都放在JSP中。这个框架还易于使用,而且确实能够提高我们的开发效率和程序的可维护性。
RIFE
RIFE为开发和设计Web应用程序提供了另外一种途径。它基于Java平台构建,但它提供了所有需要的工具和AIPs用统一的风格,快速地实现所有web程序各开发角色之间的任务联系。RIFE被设计成在整个开发周期中完全分离了开发角色之间的任务,每个 developer,dba和designer只需关注它们自己的任务,整个开发工作随时都可以很容易的与其它团队的工作相结合,使得这样子开发出来的将是一个松耦合的健壮的系统。RIFE由许多标准的组件组成,它们包括:
*Web程序引擎
*结合Web扩展
*多格式模板引擎选择(html, xml, sql, java, txt, ...)
*支持内容导出(比如导出为XSLT格式)
*验证框架
*数据库查询构建器
*简单的持久层
*JDBC优化与连接池
*可配置框架等。
用它可以轻松的解决Http's无状态连接问题与CGI的接口。这个框架已经成功的应用在许多网站上如:Bla-bla List,Netwerk,Caosity,Dag Allemaal,GreenEnergy等。
https://rife.dev.java.net/
Beehive
Beehive用于简化Java 2 Platform, Enterprise Edition(J2EE)以及Web服务编程。
Apache Beehive支持以下功能:
*Java Page Flow(JPF)技术,也称为(NetUI)
*轻量级的组件框架
*基于Java Specification Request(JSR)181的Web 服务
Stripes
Stripes是一个视图框架用于利用最新的Java技术来构建Web应用程序.它具有以下特点:不需要对每一page/action进行映射配置(ActionBeans将自动被发现,它利用注释进行配置),强大的绑定引擎用于构建复杂并脱离请求参数 (request parameter)的web对象,易于使用并可本地化的验证与类型转换系统.可重复使用ActionBean作为视图帮助类.支持一个form对应多个事件.透明的文件上传能力.支持持续开发(比如在构思你的ActionBean之前可以先构建与测试JSP)等.
Millstone
Millstone是一个Web用户界面组件包。用户界面完全采用面向对象服务端编程方式实现。利用这个包你就可以开发出高质量基于Web的UI而不需要关心XHTML,CSS,JavaScript,浏览器兼容等问题。可通其提供的一个在线Demo来了解各个UI组件的特性。Millstone还提供一个可在Eclipse平台上创建和运行Millstone项目的插件。
SiteMesh
OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离。
Roller Weblogger
这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。
DLOG4J
DLOG4J提供一个功能完整,跨平台,支持多数据库,支持RDF, RSS,ATOM浏览,基于Struts/Hibernate技术的Web Blog。它功能包括:站内点对点信息发送,区分开放与私有日记,当有评论时邮件通知,国际化支持等。中文支持及演示站点:Java自由人
MapleBlog
MapleBlog 是一个基于MVC Struts 1.1的简单web Blog。模型使用Hibernate技术,视图使用Tiles/JSP 。
Blogunity
Blogunity具有以下特点:
1.一分钟就能搞定安装的项目。
2.能够在任何J2EE容器上运行。
3.提供16种流行的数据库支持。
4.使用简单但功能强大的Blog文章编辑系统。
5.能够使各个Blog独立灵活的修改主题。
6.提供一个简明的用户管理界面。
blojsom
blojsom是一个用Java编写的简便的blog工具包,受到blosxom的启发。blojsom旨在保留blosxom设计中的简单性,同时增加用户在爱好,模板以及插件方面的灵活性。
Pebble
Pebble是一个流行的服务端blogging工具。Blog内容的存储到XML文件中,所以不需要安装数据库。所有的维护与管理工具多可以web的方式进行。
GeekBlog
一个Java开源的WebBlog.
A Java webapp to do weblogging/blogging with minimal dependencies on external resources (like a relational database server). Designed to be extensible, flexible, and lightweight enough to run on most server hardware capable of running Java.
JSP Blog
JSP Blog是一个只使用纯JSP技术的web Blog。Servlet容器使用Tomcat,数据库用MySQL。
CocoBlog
CocoBlog是一个开源的基于Apache Cocoon与Apache Xindice的Weblogging软件工具.它可以管理单个用户的Webblog,数据以XML的格式进行存储然后通过Cocoon发布.由于使用 Cocoon框架,所以可以获得内容与表现的一个漂亮分离.
myblog
myblog是一个web2.0 blog使用wordpress的主题作为默认的主题。该blog采用spring+hibernate+dwr+freemarker组合开发。
中文演示站点:
http://www.jdkcn.com
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得 Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate Synchronizer】【MiddlegenIDE】
IBATIS
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显得别具意义。
Castor
Castor 一个Java开放源码数据绑定框架,它主要目标是提供Java对象与XML 的绑定, Java到SQL的持久化等.
Apache Torque
Apache Torque是一个使用关系数据库作为存储手段的Java应用程序持久化工具,是 Apache 的公开源代码项目,Torque是一个开源项目,由Web应用程序框架Jakarta Apache Turbine发展而来,但现在已完全独立于Turbine。 Torque 主要包含两部分:一部分是 Generator,它可以产生应用程序需要的所有数据库资源,包括 sql 和 java 文件;另外一部分是 Runtime,提供使用这些代码访问数据库的运行时环境。目前 Torque 支持的数据库包括 DB2、SQL Server、Oracle、PostgreSQL等。
Cayenne
Hibernate 之外的另一个开源 O/R 框架 Cayenne ,被成功用于商业生产环境。NHL.com 就是使用的 Cayenne ,每天超过 5 million 次的访问量。最新的版本 Cayenne 1.0 Final ,值得关注。
Speedframework
Speed 快速J2EE 开发框架Speedframework是一个完全基于JDBC开发的轻量级持久层框架. 它可以直接调用SQL,也可以直接对POJO进行CRUD操作,代码与ORM相当.调试方便,不用配置,内置JCS缓存,能有效降低数据库压力.
speed框架具有如下特点:
1.免配置持久层,免配置可以减少开发中配置带来的烦恼,调试带来的烦恼。
2.完全是jdbc封装操作,性能完全没问题。
3.jcs cache实现,对于数据库操作对象缓存减轻数据库压力。
4.自带分页组件,完全可以直接传入一条sql即可完成困难的分页逻辑,可以由客户自定义。
5.结合表、视图实体逻辑设计模式可以实现xp开发。
6.speed能自动识别表字段pk的自增主键,并可以返回自增字段值。
7.实现了jdbc的批处理封装,存储过程调用等jdbc api常用的封装。
8.降低了入门门槛,有利于初期开发和中后期维护,适用于开发程序员经常更换的团队。
Simple persistence
Simple persistence是一个O/R映射框架。它使用简单,没有XML映射文件、不需要创建表格(将自动创建)、不用生成ID、不用理会关键字,只需把它指向数据库,就可以实现新增、修改、删除、查询操作。Simple persistence支持事务,有自己的简单查询语言(类似于Hibernate的HQL),并能够处理对象关联,lists和maps。
Ammentos
Ammentos是一个适用于JDK5,轻量级的,开源的持久层框架. 它与JDK5注释(annotations)相结,支持事务,支持事件驱动编程,不需要配置,使用简单等.
Mr.Persister
Mr.Persister是一个既简单又小的O/R映射API。可以从关系型数据库读取Java对象,也可以把Java对象写到数据库中。Mr. Persister主要的特点:
没有映射文件也不需要手动映射。
没有自己特有的查询语言。
Jar文件只有97KB。
Mr. Persister的运行体系都是以组件的方式实现。
SimpleORM
SimpleORM是Java对象关系映射的开源项目.它在JDBC的基础上提供了一个简单但高效能的O/R映射.它甚至不需要XML配置文件.
Compass
Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.Compass包括:
* 搜索引擎抽象层(使用Lucene搜索引荐),
* OSEM (Object/Search Engine Mapping) 支持,
* 事务管理,
* 类似于Google的简单关键字查询语言,
* 可扩展与模块化的框架,
* 简单的API.
Speedo
Speedo实现了JDO规范。它使用了objectweb设计的Jorm, Medor和Perseus 框架。
pBeans
这是基于Java的持久层。提供了自动的对象/关系(O/R)映射,可以将JavaBeans 映射到数据库表。功能有持久性、自动表创建、修改,许多查询,等等。
Jaxor
Jaxor是一个简单但功能强大的创建到关系映像层对象的工具。它允许开发者轻松地在表中插入、更新、删除行,但也可被扩展为创建一个可扩展的映像层,这个层可创建一个完全的域模型,透明地映射到数据库表。
Prevayler
Prevayler一个把Java对象都保持在内存中的持久层框架,不需要数据库。可以这么说到目前为止对于POJOs(Plain Old Java Objects )是最快的,最显然的对象持久化,具有容错机制,提供负载平衡的框架。Prevayler在Eclipse下的插件Preclipse
Bhavaya
Bhavaya是一个Java库它提供实时地与最新状态地(up-to-date)访问数据库数据.它一个包含持久层.这个框架利用数据库中的数据来填充Java对象并保持对象中的数据是最新的的.这个类库也提供许多当处理频繁地数据交换时经常要用的用户接口与工具类.
OpenJPA
OpenJPA是Apache组织的一个Java EE持久层开源项目,它实现了EJB3.0中的JPA标准,为开发者提供功能强大、使用简单的持久化数据管理框架。OpenJPA封装了和关系型数据库交互的操作,让开发者把注意力集中在编写业务逻辑上。OpenJPA既可以作为独立的POJO持久层框架使用,也可以与所有符合EJB 3.0标准的容器或者其它轻量级框架相集成。
mvnForum
mvnForum是基于javaJ2EE 技术(Jsp/Servlet)的一个开源论坛.,安装简单。mvnForum兼容任何Servlet容器,支持Jsp 1.2 and Servlet 2.3。
JForum
JForum 是一个功能强大 ,易于管理的论坛。它的设计完全遵从MVC设计模式,能够在任何Servlet容器与EJB服务器上运行。而且可以轻松的定制与扩展JForum论坛。
JavaBB
JavaBB基于java技术的类似于phpbb的论坛。
Yazd
Yazd是一个使用JDBC连接数据库的论坛。它的特性包括:
1.提供在线安装和配置。
2.内容过滤(把Html代码转换成可显示的文件,自定义关键字过滤列表,隐藏urls的实现路径)。
3.集成Lucene1.3提供关键字搜索功能。
4.支持的数据库包括:Oracle,MySQL,DB2,Microsoft SQLServer,Sybase,Interbase,Hypersonic SQL,Pointbase,Informix和Postgres
5.还有其它一些一个论坛应具备的基本功能。
这个论坛提供多语言支持其中包括简体中文。
jzForum
这是一个利用Java开发的简单论坛.以下列出它的几点特性:
* 完全支持BBCode,
* 在新贴提交时利用AJAX技术提供无刷新页面预览功能.
* 利用lucene提供全文本搜索功能.
* 用户可监控主题.
* 可以容易更改样式(利用CSS几乎没有用到table).
* 安装简单只有一个war文件没有数据库(其实是内嵌hypersonic数据库)但 也支持其它数据库.
* 包括一个投票系统.
* jzForum还提供RSS阅读功能并利用缓存技术提高整个论坛的速度.
BBS-CS
天乙社区是一套基于JAVA技术的网络虚拟社区,采用了Hibernate+Spring+Struts的轻量级J2EE框架.
1、全文检索:天乙社区6.0采用Lucene全文检索,并支持完全国际化多语言的全文检索。
2、MVC框架:天乙社区6.0继续了5.x的Struts框架,但经过优化,WEB端更加简洁高效。
3、集群支持:系统可以运行在集群上。
4、功能方面:大大加强了管理功能,用户可以多样化的定制系统的各项信息,包括用户级别、封锁IP、过滤字等等,论坛功能上主要增加了投票帖、上传附件类型多样、帖子中显示用户信息等等功能等。
displytag
与Struts结合使用最出名的一个tag主要是显示表格数据很漂亮、完善。
Struts-Layout
Struts-Layout是一个用在Struts的标签库.这个强大的标签库可以用来显示面板 (panels),输入框,表格,treeviews,sortable lists,datagrids,popups,日历等.使用这些标签可以不用写HTML代码,甚至可以不用懂得HTML.这个项目还提供一个 Eclipse下的插件Kiwi帮助使用Struts和Struts-Layout来开发Jsp页面.
Jakarta Taglibs
Jakarta Taglibs 是为JSP定制标签库和相关的项目提供的一个开源仓库,如 TagLibraryValidator类,和对页面生成工具的扩展来支持标签库。Jakarta Taglibs 也包括了对JSP Standard Tag Library (JSTL)的参考实现。这个实现基于项目标准。目前,在Jakarta Taglibs 中没有其它标签库代表了Java Community Process (JCP) 标准。
DbForms
DbForms!它是一个基于 Java (Servlet,JSP/Taglib)的快速应用程序开发环境,可以帮助开发人员快速建造基于Web的数据库应用程序。
eXtremeTable
eXtremeTable是一个可扩展的用于以表格的形式来显示数据的一组JSP标签库.
Google Tag Library
该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。
EasyLDAP
LDAP标签库为JSP程序员和Web页面设计者提供了最容易的方法来执行任意的LDAP操作。
JSP Tree Tag
JSP Tree Tag是一个显示树型结构jsp标签,它只把需要显示的部分送到客户浏览器。
Prize Tags
Prize Tags是一个集许多功能于一身的Jsp标签库。其中最受欢迎的Tree Tag,这个Tag可以为不同节点指定不同的图标,而且可以服务端可以监控客户端节点的展开,关闭,选中与未选中等事件。除了Tree Tag还有日历Tag,Icon Tag,Alternate Tag ,Template Tag 等其它的功能。
ValueList
ValueList利用这个标签可以进行数据过滤,排序,分页。而且界面挺漂亮的。
Google:maps JSP Taglibrary
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。
Ditchnet JSP Tabs Taglib
这是一个可用来开发多页选项板(Tabbed Pane)的简单标签。以下是一个Demo:
<tab:tabContainer id="foo-bar-container">
<tab:tabPane id="foo" tabTitle="Foo!">
Foo is cool!
</tab:tabPane>
<tab:tabPane id="bar" tabTitle="Bar!">
<c:out value="Bar is cooler!" />
</tab:tabPane>
</tab:tabContainer>
Velocity
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】
FreeMarker
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。【FreeMarker Eclipse Plugin:Eclipse下的一个辅助开发工具】
WebMacro
WebMacro是一种Java开源的模板语言。对于表现web页面,它比JSP,PHP,与ASP效率更高。WebMacro是一些大网站后台的页面生成技术。
StringTemplate
StringTemplate一个可以生成原代码,web页面,emails和其它任何需要有格式的文本输出。StringTemplate已应用在为jGuru.com与antlr.org网站产生web页面。
Better Templates for Everybody
一个让数据知道如何插入到模板中适当的位置,模板可以从静态的文件或Java servlets来创建。
JByte
JByte基于java的模板引擎。它通常用于把Jsp或Servlet转换成HTML,也可以转换成其它格式比如:XML,RTF,WML,e-mail text,原代码, 配置文件。
Jamon
Jamon是一个Java文本模板引擎,用于生成动态HTML, XML,或任何基于文本的内容。它有一个丰富的功能集,支持封装,参数化,功能分解,表达逻辑重用。模板声明它们要求生成的参数,包括动态模板内容 ("fragments"),并被翻译成带有公有方法的Java类,它的符号反映了在模板中声明的参数。

AOP框架