各網頁框架系統的比較
比较特性 > Java

| 项目 | 程式語言 | Ajax | MVC框架 | MVC push-pull | 國際化與本地化 | ORM | 测试框架 | 資料庫轉移框架 | 安全性框架 | 模板框架 | 缓存框架 | 表單验证框架 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Apache Click | Java | jQuery | 頁面導向 | Pull | 是 | Hibernate, Cayenne | 是 |  | 可用插件 | Velocity, JSP | 緩存模板 | 內建驗證 |
| Apache OFBiz | Java, Groovy, XML, | jQuery | 是 | Push-pull | 是 | Entity Engine (內部類ORM，非實際ORM，知名例子為被Atlassian Jira使用) | JUnit | 實例引擎工具、資料檔案工具、CSV解析器、Apache POI | 基於OWASP的內部安全框架 | Freemarker (推薦), Velocity (可用支援), JSP (可用支援) | 群集用使用分散式快取清理的內部快取維護 | 客戶端驗證, 用戶端驗證(JQuery) |
| Apache Sling | Java | 是 | 是 | Push-pull |  | 使用JCR內容庫 |  |  | 是 | 是 | 是 |  |
| Apache Struts | Java | 是 | 是 | Push-pull | 是 | 是 | 單元測試 |  |  | 是 |  | 是 |
| Apache Tapestry | Java | Prototype, jQuery | 是 | Pull | 是 | JPA, Hibernate, Cayenne | Selenium, TestNG, JUnit |  | Spring Security, Shiro | 是 | 使用附加元件 | 原生或Bean Validation |
| Apache Wicket | Java | YUI, ExtJS或其他用的附加元件 | 否 (模組化事件驅動) | Pull | 是 | 使用附加元件 | 經由附加元件的偽物件、單元和整合測試 |  | 是 | 是 | 是 | 是 |
| FormEngine | Java | 是 |  |  | 是 | 擁有連接器API |  |  |  |  |  | 伺服器端Ajax驗證和表單狀態更新 |
| Grails | Groovy | 是 | 是 | Push | 是 | GORM, Hibernate | 單元測試、整合測試、功能測試 | 多插件: autobase、dbmigrate或其他 | Spring Security, Apache Shiro | 是 | 是 | 是 |
| ItsNat | Java | 是 | 事件驅動 | Push | 使用Java i18n |  | 外部、內建 |  | 可用插件 | 純HTML-SVG | 頁面緩存 | 普通Java |
| JavaServer Faces | Java | 是 | 是 | Pull | 是 | JPA, Hibernate和其他Java EE ORM框架 | JUnit |  | 是 | Facelets, JSP | 是 | 原生驗證, 與Bean Validation整合 |
| 项目 | 程式語言 | Ajax | MVC框架 | MVC push-pull | 國際化與本地化 | ORM | 测试框架 | 資料庫轉移框架 | 安全性框架 | 模板框架 | 缓存框架 | 表單验证框架 |
| JBoss Seam | Java | 是 | 是 | Pull | 是 | JPA, Hibernate | JUnit, TestNG |  | JAAS整合、Drools、Hibernate Filters、OpenID、CAPTCHA | Facelets | JBoss Cache, Ehcache | Hibernate Validator |
| Jspx-bay | Java | 是 | 頁面導向 |  |  | 擁有API |  |  | JAAS整合 | 主板頁面 |  | 是，內建UI驗證控制 |
| JVx WebUI | Java | 是 | 模型驅動 |  | 是 | 是，可用插件 | JUnit |  | 是 | 單獨來源 |  | 是，可用插件 |
| JWt | Java | 是 | 是 | Push-pull | 是 |  |  |  | 是 | 是 |  | 是 |
| OpenXava | Java | 是 | 模型驅動 |  | 是 | JPA、Hibernate、EJB2 CMP | JUnit | Hibernate工具 | 使用JSR-168門戶安全 | UI為自動生成 | 使用門戶和JPA緩存 | 是 |
| Play | Java, Scala | 是 | 是 | Push-pull | 是 | JPA, Hibernate | JUnit, Selenium | 是 | 經由核心安全模組 | 是 | 是 | 伺服器端驗證 |
| RIFE | Java | DWR | 是 | Push-pull | 是 | 是 | 容器外測試 |  | 是 | 是 | 與Terracotta整合 | 是 |
| Spring | Java | 是 | 是 | Push | 是 | Hibernate、iBatis或其他 | 偽物件、單元測試 |  | Spring Security (原Acegi) | JSP、Commons Tiles、Velocity、Thymeleaf或其他 | Ehcache或其他 | 一般驗證器、Bean Validation |
| Stripes | Java | 是 | 是 | Pull | 是 | JPA, Hibernate | 是 |  | 框架附加元件 | 是 |  | 是 |
| Vaadin | Java | GWT |  | Push-pull | 是 | 是 | 是 |  |  | 是 |  | 是 |
| Wavemaker | JavaScript (客戶端), Java (伺服器端) | Dojo Toolkit | 是 | Push | Dojo Toolkit | Hibernate | JUnit | Hibernate | Spring Security (原Acegi), 以角色為基礎的存取控制 | Dojo Toolkit | Dojo Toolkit | 正規表達式、schema驅動驗證 |
| 项目 | 程式語言 | Ajax | MVC框架 | MVC push-pull | 國際化與本地化 | ORM | 测试框架 | 資料庫轉移框架 | 安全性框架 | 模板框架 | 缓存框架 | 表單验证框架 |
| WebObjects | Java | 是 | 是 | Push-pull | 是 | EOF | WOUnit (JUnit), TestNG, Selenium | 在Project WONDER |  | 是 | 是 | 是 |
| ztemplates | Java JDK 1.5或更新 | 用annotations整合YUI、Google等等 | 是 | Push，單一URL多動作 | 標準Java | 使用任何J2EE ORM框架 | 單元測試 |  | annotation基底 | Velocity、FreeMarker、JSP或其他可用插件 |  | 伺服器端Ajax驗證和表單狀態更新(YUI, JSON) |
| Google Web Toolkit | Java, JavaScript | 是 |  |  | 是 | JPA和RequestFactory | JUnit, jsUnit, Selenium | 經由Java | 是 |  |  | Bean Validation |
| ZK | Java, ZUML | jQuery | 是 | Push-pull | 是 | 任何J2EE ORM框架 | JUnit,ZATS | HibernateUtil, SpringUtil | Spring Security | 巨集元件和結構 | 是 | 客戶端、伺服器端 |