AJAX框架
我们可以推荐哪种Ajax框架/工具包来构建使用Struts的Web应用程序的GUI?
解决方案
Struts已经随Dojo框架一起提供。我们可以将应用程序主题设置为ajax,然后就可以使用它了。
看看struts.properties文件中的struts.ui.theme属性!
JavaWorld上的一篇不错的文章可供我们阅读
我会选择ExtJS(http://extjs.com/)。
它具有非常好的组件和事件模型以及非常好的支持。
最好是AJAX;)
我们可以将操作与JSON响应一起使用,以将数据提供给Ext前端。我们甚至不需要(通过JSPX /标记)将客户端前端与服务器前端混合使用。
有些人认为必须将客户端前端与服务器前端分离开来,这是Ext的缺点。我认为不是,因为我已经将使用Ext构建的Web应用程序从Java后端切换到了.Net后端,而没有更改客户端前端代码行,无论是HTML还是Javascript。
在决定之前,请查看Ext示例和文档。
我要说的是,我们选择的AJAX / javascript库应该更少地依赖于后端实现方式,而更多地取决于UI。
如果网站主要是带有一些AJAX的静态网页,那么最好使用更轻便的javascript框架(如jquery)。但是,如果我们创建的UI更像Web应用程序,并且用户长时间停留在单个页面上(例如gmail,Google日历等),那么最好查看Dojo,ExtJs或者GWT。
我建议使用JQuery的UI插件。
jQuery,原型,雅虎!用户界面,MooTools,dojo和ExtJS将使我们使用非常扎实的代码。
我无法担保的其他可能性:QooxDoo
已经提到过了,但是我会再说一遍:jQuery。 jQuery的优势不仅在于能够进行简单的AJAX调用或者强大的UI扩展库。以我的拙见,jQuery最好的部分是如何轻松处理返回数据。 jQuery允许我们像浏览HTML一样轻松地浏览XML。
例如,假设我们返回一个xml请求:
(:从MarkLogic培训文件中借用了该XML文档:)
<author name="Boynton"> <book> <title>Barnyard Dance!</title> <year>1993</year> </book> <book> <title>Hippos Go Berserk!</title> <year>1996</year> </book> </author>
jQuery可以使用以下简单命令检索所有year元素:
var years = $("year"); //Ok, lets act on each element instead $("year").each(function(index, value){ alert("Element " + index + " = " + value); }); /* OUTPUT Element 0 = 1993 Element 1 = 1996 /*
尝试用普通的Javascript来做!
此外,jQuery的设计方式非常漂亮。创始人通过在库的核心中添加创建扩展的能力来鼓励扩展框架(确保我们始终可以只编辑Javascript文件,但是对框架进行重要更新时会发生什么)。
使用jQuery的另一个重要原因是它与其他Javascript框架的兼容性。默认情况下,Prototype和jQuery都使用" $"符号来引用主库对象。仅jQuery添加了删除此引用的功能,因此它可以与Prototype共存。
jQuery使JavaScript变得令人愉悦。