《Ajax开发精要》关于ajaxanywhere 教程五
来源:互联网 发布:ipad乐器软件 编辑:程序博客网 时间:2024/05/19 19:33
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()方法
ref_All = false;
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演示包中找到。有兴趣的读者可以自行查阅相关代码。
- 《Ajax开发精要》关于ajaxanywhere 教程五
- 《Ajax开发精要》关于ajaxanywhere 教程一
- 《Ajax开发精要》关于ajaxanywhere 教程二
- 《Ajax开发精要》关于ajaxanywhere 教程三
- 《Ajax开发精要》关于ajaxanywhere 教程四
- 《Ajax开发精要》关于ajaxanywhere 教程六
- 《Ajax开发精要》关于ajaxanywhere 教程七
- Ajaxanywhere
- ajaxanywhere
- 《软件开发技能实训教程 .NET篇》 - 书摘精要
- 关于ajax开发
- Android开发精要
- Androiod 开发精要 笔记
- 读《Android开发精要》
- HTML5开发精要 元素
- RxJava开发精要
- Java开发规范精要
- RxJava开发精要4
- SQL连接查询2 外连接(左右联接查询)
- 《Ajax开发精要》关于ajaxanywhere 教程三
- 《Ajax开发精要》关于ajaxanywhere 教程四
- ORACLE分页查询SQL语法
- 主题:[CSS HACK]IE6、IE7、IE8、Firefox兼容性问题
- 《Ajax开发精要》关于ajaxanywhere 教程五
- 软通
- 搜索自动完成功能的优化 分析篇
- 《Ajax开发精要》关于ajaxanywhere 教程六
- 《Ajax开发精要》关于ajaxanywhere 教程七
- C程序100实例之八
- java内存泄漏原因、判定及解决方法
- java内存泄漏原因、判定及解决方法
- [资源]汇编资源网站收录