- 关 键 词:
- javascript
- apache
- ruby
- html
- ajax
在使用浏览器请求此 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 应用程序的乐趣中,他非常钟爱编写代码。
http://www.qqread.com/ajax/d383051.html相关专题
- Ajax技术专题 (558篇文章)
- Ajax技术应用开发 (558篇文章)
- Wlan组网----家庭专题 (4217篇文章)
- Ajax框架与实例 (221篇文章)
- Ajax技术核心 (182篇文章)
- Ajax的WEB开发 (141篇文章)
- Ajax技术开发 (138篇文章)
- 开发ASP.NET AJAX客户端定制行为 (0次浏览)
- 解决ajax获取页面直接显示乱码的方法 (0次浏览)
- 基于ASP.NET AJAX框架实现表单验证编程原理 (0次浏览)
- 基于ASP.NET AJAX框架实现表单验证编程(实践 (0次浏览)
- 基于ASP.NET AJAX框架实现表单验证编程(理论 (0次浏览)
- 从Atlas到Microsoft ASP.NET AJAX(3) (0次浏览)
- 从Atlas到Microsoft ASP.NET AJAX(2) (0次浏览)
- 从Atlas到Microsoft ASP.NET AJAX(1) (0次浏览)
- Codd 提出的 RDBMS 12项准则 (0次浏览)
- 不用组件实现Ajax效果 (0次浏览)



