首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用 AjaxTags 简化 Ajax 开发(3)

用 AjaxTags 简化 Ajax 开发(3)

通常,在浏览器计算这个 JavaScript 片段时,它才会执行。JavaScript 对象(AjaxJspTag.Select)被实例化,适当的侦听程序会被附加到合适的元素。
让我们浏览一下实际响应,该响应在 URL 寻找 make 为 Mazda 的汽车时在后台发送给浏览器,如  所示(此响应是在  中请求 URL 的结果)。
清单 9. Ajax 响应
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<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 响应
1
2
3
4
5
6
7
8
9
10
11
12
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 处理的合适响应,所需的代码不多(而且还可以进一步减少)。
返回列表