Java开源 AJAX框架
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
XAP是一个开源基于XML的声明式Ajax框架。该框架的核心是一个可扩展的插件体系,它的目的是集成现有的Ajax项目如:Apache Kabuki,Dojo和其它Ajax开源果如:Eclipse openAjax。
DWR
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.
AJAX Tags
AJAX Tag是一组Jsp标签,用来简化AJAX(Asynchronous JavaScript and XML )技术在JSP页面中的使用.它提供了一些常见功能的标签如下拉级联选择,用户在文本框中输入字符自动从指定的数据中匹配用户输入的字符等。它构建在
JavaScript框架之上。
Struts AjaxTags
这个AjaxTags是在现有的Struts HTML标签库上添加对AJAX (Asynchronous Javascript+XML)技术的支持。这样就可以为现有的基于Struts HTML标签库的应用程序添加AJAX功能而不用破坏现存的代码并且开发者不需要了解AJAX是怎样工作的。
AjaxAnywhere
AjaxAnywhere被设计成能够把任何一套现存的JSP组件转换成AJAX感知组件而不需要复杂的JavaScript编码.它利用标签把Web页面简单地划分成几个区域,然后使用AjaxAnywhere来刷新那些需要被更新地区域.
JSON-RPC-Java
JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架. 利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在JBoss与其它J2EE应用服务器中因此可以在一个基于JavaScript与DHTML的Web应用程序中利用它来直接调用普通Java方法与EJB方法。JSON:JavaScript Object Notation
Tacos
Tacos类包项目为Tapestry Web框架提供一些高性能的组件,同时也为在页面或自己组件中使用的ajax框架(它当前支持的框架主要是
dojo但也支持
Prototype,
script.aculo.us ,
Rico)提供服务端Java支持。
Taconite
Taconite是一个基于J2EE的框架,可以利用这个框架来简化Ajax开发。Taconite包含一个客户端JavaScript包与一组能自动处理Ajax请求并生成动态内容的自定义JSP标签。
SWATO
SWATO (Shift Web Application TO...)是一组可复用并且结合得很好的Java/JavaScript包.它通过AJAX来轻松转变你web应用程序的交互方式.它带的一些组件包括可以自动补全的文本框架,动态级联下拉列表,动态表单等.
AJAX-JSF Framework
这是一个利用AJAX技术并基于JSF来开发轻量级客户端的框架.它设计成可在现有的JSF组件上进行开发并最大限度的满足标准JSF Web流程.
Echo2
Echo2是Echo Web框架的下一代版本。一个可以用于开发基于Web胖客户端应用程序的框架。 这2.0版还是沿用Echo的核心思想但Echo2通过它新的AJAX表现层引擎提供生动的用户界面而且还提高了整体性能和实用性.
ZK
利用ZK框架设计的web应用程序具备丰富的胖客户端特性和简单的设计模型.ZK包括一个基于AJAX可自动进行交互式操作的事件驱动引擎和一套兼容XUL的组件.利用直观的事件驱动模型,你可以用具有XUL特性的组件来表示你的应用程序并通过由用户触发的监听事件来操作这些组件,就像开发桌面应用程序一样简单.ZK还可以与现存一些框架和技术相结合如:JSF和Portals.
在线例子.
JsOrb
JsOrb是一组技术的集合设计用来简化下一代Web应用程序的开发。它能够让浏览器端的web页面很容易地访问服务端的商业逻辑与POJOs。JsOrb能够根据POJOs和要作为商业逻辑接口代理的需求来生成JavaScript Classes代码。因此JavaScript类与POJOs有相同的方法与商业逻辑并且JavaScript代码看起来与Java很相似。
Buffalo
Buffalo是Amowa思想实现的关键组件。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。中文主页:
http://www.amowa.net/buffalo/
Caramba
开发caramba框架从头到尾只为了一个目的:用来开发胖客户端的Web应用程序。我们都知道要开发胖客户端Web程序利用AJAX技术就已经可以了,但AJAX很难调试而且开发起来费时。我们注意到只要遵循事件驱动模型就能够得到简化,Caramba是一个100%事件驱动的框架非常易于使用。利用Caramba就能够开发出异样,客户端响应的Web应用程序而不需要写任何JavaScript代码。你也不需要学习新的语言,只要懂得Java和Jsp语法就足够了.Caramba主要由三部分组成
Components;CarambaServlet;Tags.在线演示Demo请访问:
http://www.systemworks.be/caramba-demo/firstTestPage.caramba
Java2Script Pacemaker
j2s(Java2Script Pacemaker)提供一个编译器Eclipse插件用于把Eclipse Java编译成JavaScript/HTML/CSS并实现了一个JavaScript版的Eclipse SWT(Standard Widget Toolkit)和其它一些公共单元类,比如java.lang.*和java.util.*。你可以利用Java2Script Pacemaker把基于SWT的RCP应用程序转换成RIA(Rich Internet Application)。兼容Mozilla/Firefox,IE,Opera浏览器。随着Web2.0和AJAX的流行,这个工具可以提高程序员开发Web2.0应用程序的效率并且能够帮助程序员重新使用现存的大部份Java代码或SWT用户界面.
JSP Controls
JSP Controls标签库提供了类似于portlet生命周期的JSP组件。这个组件库不需要portal引擎或其它中央控制器。这些组件可用于任何基于JSP的应用程序中。JSP Controls使用两种请求处理模式:1.传统的同步HTTP request/response 周期(Non-Ajax模式)。2.异步无刷新更新适合于支持 XMLHTTPRequest对象的浏览器(Ajax mode)。
独立于页面段落(IPF)技术
独立于页面段落(IPF)技术
AMP
AMP是受部份RoR的启示而开发的一组依赖框架的Java API。它能够在一个正常的MVC模式中处理AJAX请求。AMP当前与Spring框架相结合以使它易于配置。
Rialto
Rialto是一个跨浏览器的Javascript界面组件包。它支持纯javascript开发和JSP/taglib开发。Rialto可集成到JSF、.Net、PHP、Python开发中。
GWT
Google Web Toolkit (GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的JavaScript与HTML。Eclipse开发插件
Googlipse。
HTMLi
HTMLi - 100% XSL AJAX框架,可与Java,ASP,PHP等集成使用。可自由扩展与定制。支持多种CSS样式。HTMLi提供了一些我们经常要用到的AJAX UI组件如:datepicker、Menu Bar、Progress Bar、Splitter、Status Bar、TabPane、Tree、windows等。
jMaki
jMaki是SUN支持的一个AJAX框架。这个项目的是让Java开发人员在其基于Java的应用程序中(不管是JSP标签库还是JSF组件)都能使用AJAX技术。jMaki使用了Java与JavaScript中最优秀的部分以此来提供一些Rich AJAX style widgets。jMaki当前提供的bootstrap widget是来自
Dojo,
Scriptaculus,
Yahoo UI Widgets,
Spry,
DHTML Goodies,和
Google等组件库。jMaki提供为这些widget组件库提供了一个公共接口以便让你可以在同一页面中一起使用这些组件库。如果你有兴趣利用jMaki项目来快速开发Web应用程序,可以使用NetBeans 5.5的jMaki插件。这个插件可以直接把jMaki组件拖放到JSP页面中。如果不熟悉该插件可以通过其网站提供一段
视频来学习。
GWT Component Library
利用Google Web Toolkit开发的一组Widget。
Canvas Widget Round Corners Simple Calendar RateIt Control Script.aculo.us Effects Integration Auto-Completion Textbox Simple XML Parser Hyperlink with Image Tooltip Listener
Canvas Widget Round Corners Simple Calendar RateIt Control Script.aculo.us Effects Integration Auto-Completion Textbox Simple XML Parser Hyperlink with Image Tooltip Listener
Ajax4jsf
Ajax4jsf是一个Rich组件框架主要用于JSF应用程序的Rich用户界面开发。Ajax4jsf完全与JSF生命周期(Lifecycle)紧密结合。而其它框架只给你访问managed bean的能力, Ajax4jsf能够在AJAX request-response期间利用Action、值变化监听器(value change listener)、调用服务端校验和类型转换器。这个框架使用一个组件库来实现,它能够为现有的JSF页面添加AJAX功能而不需要编写任何Javascript代码或使用新的AJAX widget来代替现有的组件。Ajax4jsf能够实现整个页面范围的AJAX支持而不是传统的组件范围支持。除了核心AJAX功能之外,Ajax4jsf还支持各种资源的管理如图片、JavaScript代码和CSS样式表等,这个资源框架让你能够很方便把这些资源与你自定义组件的代码一起打包到Jar文件中。这个资源框架还有另外一个特性就是能够快速生成图片,创建的方式类似于使用Java graphic2D包创建图片一样。
ThinkCAP JX
ThinkCAP核心是一个先进的MVC框架,它能够管理运行期界面布局,GUI组件外观, 状态管理,处理数据绑定,校验,和数据持久化。驱动该框架的是它Workbench所生成的Java类和XML元数据。ThinkCAP搭建在Struts,Hibernate,JFreeChart等25种开源框架之上,当前6.0版本与Struts非常相似。
XAP
XAP是一个开源基于XML的声明式Ajax框架。该框架的核心是一个可扩展的插件体系,它的目的是集成现有的Ajax项目如:Apache Kabuki,Dojo和其它Ajax开源果如:Eclipse openAjax。
xWire Framework
xWire Framework是一个成熟,面向对象,企业级的Java工具包,最适合于开发AJAX应用程序。它构建在多个著名开源项目之上(Struts,JDOM,Xalan,Xerces,iBatis,XStream,Commons Configuration,Log4J和FOP)。
AJAXForms
AJAXForms这个工具能够把不能在浏览器中使用的XHTML/XForms文档转成带Javascript的HTML文档。这个工具采用AJAX实现。
JSF-Extensions
jMaki和JSF-Extensions都是Sun在JavaOne 2006上公布的AJAX项目。jsf-extensions是一组non-UI的组件,设计用于为基于JSF1.2的Web应用添加AJAX支持。
在线演示Demo: jsf and jMaki demo和 JavaOne demo 。
在线演示Demo: jsf and jMaki demo和 JavaOne demo 。
Json-lib
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。
GWT Widget Library
利用GWT工具包开发的一组UI组件. <iframe src="gwtwidgetlist.html" height="500" width="420"></iframe>