5.设置页面可刷新区域
AjaxAnywhere使用自定义标签<aa:zone>来划分页面区域,从而动态地指定页面可刷新区域。通过这种方法,只需要在页面适当位置中添加<aa:zone name=""></aa:zone>标签。对于已有的Web应用程序,几乎无须更改原有的代码,只须使用<aa:zone>标签指定更新区域。AjaxAnywhere会将<aa:zone>标签解析为<span id=""></span>的标记,并最终通过更新其innerHTML属性值来达到更新页面的目的。
区域划分好之后,需要告诉AjaxAnywhere哪些区域需要更新,即设置页面可刷新区域。AjaxAnywhere提供两种方式设置页面可刷新区域:客户端重载AjaxAnywhere对象的getZonesToReload()方法,或者服务器端调用AAUtil类的addZonesToRefresh(ServletReq uest request, String commaSeparatedZonesList)方法。
如果使用客户端重载的方式,则需要将<aa:zone name=""></aa:zone>所指定区域的name属性值组织成以逗号“,”分隔的字符串。例程11-35根据区域内的复选框选中情况来确定该区域是否可刷新。
例程11-35 重载AjaxAnywhere对象的getZonesToReload()方法
ajaxAnywhere.getZonesToReload = function (url){
if (ref_All)
return "document.all";
var zones="";
var form = this.findForm();
for (var i=0;i<form.elements.length;i++){
var el = form.elements[i];
if (el.type=="checkbox" && el.checked)
zones += el.value+",";
}
return zones;
如果使用服务器端设置的方式,则需要从request中或者其他地方获取指定的zone名称,调用AAUtil类的addZonesToRefresh(ServletRequest request, String commaSeparated ZonesList)并逐个将其保存。当然,在此之前应该将要刷新区域的名称以“zones=zoneNa me1,zoneName2”的形式附加在请求中。例程11-36展示了这一过程。
例程11-36 调用AAUtil类的方法保存可刷新区域
if (AAUtils.isAjaxRequest(request)) {
String[] commaSeparatedZones = request.getParameterValues ("zones");
for (int i = 0; commaSeparatedZones != null && i < commaSeparated Zones.length; i++) {
String zone = commaSeparatedZones[i];
AAUtils.addZonesToRefresh(request, zone);
}
}
这两个案例也都可以在AjaxAnywhere提供的demo演示包中找到。有兴趣的读者可以自行查阅相关代码。
<!-- page -->
分享到:
相关推荐
Ajax开发精要——概念、案例与框架
ajax开发精要-概要,案例与框架源码,都是例子,直接发布运行就是了。
Ajax开发精要是本对初学者学习,在好不过的书。 本书,的几个案例分析的很透彻,非常实用。
Ajax开发精要.pdf
Ajax开发精要借鉴.pdf
ajax开发精要源代码,代码有些地方不全,请谅解。
Ajax开发精要[定义].pdf
书AJAX开发精要-概念,案例与框架配套源码,是教材配套源码
这是《Ajax开发精要 概念、案例与框架》的电子书+源码,自制的jpg格式的pdg文件,请大家用UnicornViewer察看
《Ajax开发精要 概念、案例与框架》书和码.part2.rar
《Ajax开发精要 概念、案例与框架》书+码.part3.rar
Ajax开发,Ajax例子,Ajax教程,Ajax开发源码, Ajax技术
ajax 的 程序开发教程 里面有实例 学起来还是比较容易的
<<Ajax开发精要>>附书源码.rar
适合从初学者入门,从基本的概念入手,以实际的例子由浅入深地介绍Ajax开发的概念、案例与框架
AJAX开发简略ajax基础教程DOM操作
ASP.NET AJAX实用开发详解 电子教程
Ajax电子教程Ajax电子教程Ajax电子教程Ajax电子教程Ajax电子教程Ajax电子教程Ajax电子教程