|
|
5#

楼主 |
发表于 2007-12-19 14:11:20
|
只看该作者

在使用浏览器请求此 JSP 页面之后,会注意到 ajax:select 标记已经由清单 8 所示的 JavaScript 片段所取代,此段代码嵌入在客户端的页面内(通过在 Web 浏览器中查看页面的源代码可以检索到):
清单 8. ajax:select 标记生成的 JavaScript
<script type="text/javascript">
new AjaxJspTag.Select(
"/ajaxtags-1.3-beta-rc6-1/dropdown.view", {
parameters: "make={make}",
postFunction: resetProgress,
target: "model",
preFunction: initProgress,
source: "make",
emptyOptionName: "Select model",
errorFunction: reportError
});
</script>
通常,在浏览器计算这个 JavaScript 片段时,它才会执行。JavaScript 对象(AjaxJspTag.Select)被实例化,适当的侦听程序会被附加到合适的元素。
让我们浏览一下实际响应,该响应在 URL 寻找 make 为 Mazda 的汽车时在后台发送给浏览器,如 清单 9 所示(此响应是在 清单 7 中请求 URL 的结果)。
清单 9. Ajax 响应
<ajax-response>
<response>
<item>
<name>Mazda 3</name>
<value>Mazda 3</value>
<value>false</value>
</item>
<item>
<name>Mazda 6</name>
<value>Mazda 6</value>
<value>false</value>
</item>
<item>
<name>RX-8</name>
<value>RX-8</value>
<value>false</value>
</item>
</response>
</ajax-response>
选择框更新:服务器端
此示例的服务器端代码异常简单。如果合适,AjaxTag API 具有某些内置的 HttpServlet 子类可供您所用,此外,还有一些实用类用来生成简单的 XML 响应(参见清单 10):
清单 10. 取自 DropdownServlet 的代码片段,展示了如何创建对某个 Ajax 请求的适当 XML 响应
public String getXmlContent(
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String make = request.getParameter("make");
CarService service = new CarService();
List<Car> list = service.getModelsByMake(make);
AjaxXmlBuilder xml = new AjaxXmlBuilder();
for (Car car:list) {
xml.addItem(car.getModel(),true,car.getModel(),false);
}
return xml.toString();
}
我对清单 10 中的代码进行了简单的修改以便简化它。正如您所见,要创建可由 AjaxTags 客户端 JavaScript 处理的合适响应,所需的代码不多(而且还可以进一步减少)。
结束语
正如所见,AjaxTags 让您可以轻松地向新的或现有的 Java Web 应用程序中添加功能强大的 Ajax 特性。有了 JSP 标记对下拉框修改、切换、选项卡面板、重用以及其余的诸多特性的全面支持 — AjaxTags 无疑成为了创建简捷、细致的 Ajax 应用程序的绝佳选择。使用像 AjaxTags 这样的 Ajax 库可以极大地改善 Web 应用程序的可用性和用户体验,而且还能减少所需的服务器负载和带宽。
参考资料
您可以参阅本文在 developerWorks 全球站点上的 英文原文 。
参阅有关 AjaxTags 和 AppFuse 的简短教程。
阅读另一个 简短的 AjaxTags 教程。
若想学习如何开发和设计基于 Ajax 的 Web 应用程序,请参阅 “使用 Ajax 构建应用程序”(Naveen Balani 和 Rajeev Hathi,developerWorks,2005 年 11 月)。
在 “Ajax 和 XML: 五种 Ajax 反模式”(Jack D. Herrington,developerWorks,2007 年 3 月)中了解需要避免的一些常见的编码实践。
在 “Ajax 和 XML: 五种常见 Ajax 模式”(Jack D. Herrington,developerWorks,2007 年 3 月)中了解可以应用到您自己的工作中的 5 个常见 Ajax 设计模式。
这个由 5 部分组成的 “面向 Java 开发人员的 Ajax: 构建动态的 Java 应用程序”(Philip McCarthy,developerWorks,2005 年 9 月)系列给出了令人耳目一新的、利用 Ajax 创建动态 Web 应用程序体验的方法。
The developerWorks XML 专区 中有能让您立即开始使用 XML 的大量资源。
查阅 developerWorks Ajax 资源中心,这里几乎囊括了关于 Ajax 编程模型的所有信息,包括各种文章和教程、论坛、博客、wiki、活动和新闻。
获得产品和技术
访问 Sourceforge 上的 AjaxTags Web 站点。
从 Apache.org 下载 Apache Tomcat。
关于作者
Daniel Wintschel 的每天都异乎寻常。但很多时候,他都在帮助一些小型或中型的公司增强实力和提高效率。通常他都会沉浸在用 Java 或 Ruby 编写 Web 应用程序的乐趣中,他非常钟爱编写代码。 |
|