AjaxAnyWhere的原理

转载 2006年05月31日 10:37:00

AjaxAnywhere利用JSP标签把Web页面标注出可以动态装载的区域, 可以直接把任何JSP页面转化为AJAX感知组件而不需要进行复杂的Javascript编码.
    <script> ajaxAnywhere.getZonesToLoad = function(url){ return "countriesList"; } </script>
    <select size="10" name="language" onchange="ajaxAnywhere.submitAJAX();">
        <%@ include file="/locales_options_lang.jsp"%>
    </select>

    <aa:zone name="countriesList">

        <select size="10" name="country" >
            <%@ include file="/locales_options_countries.jsp"%>
        </select>

    </aa:zone>
   
   AjaxAnywhere的这种做法与witrix平台中的ajax方案有些类似, 例如
   
    <select onchange="new js.Ajax().setObjectEvent('changeLanguage').setParam(this).setTplPart('countriesList').replaceChildren('countriesList')"> ...</select>

    <div id="countriesList">
   <tpl:define id="countriesList">
       ....
   </tpl:define>
    </div>

    但是在AjaxAnywhere的方案中, 后台jsp页面总是要完整运行的, 它通过servlet filter机制缓存所有的jsp输出, 而aa:zone标签则把自己的bodyContent运行后的结果保存在request的attribute中, 最后servlet filter根据调用参数决定返回那些zone的运行结果. 而在witrix平台中的方案中, 只有指定的tplPart才会被运行, 其他部分完全被忽略. 这种差异的根源在于Jsp Tag技术本身的局限性. Jsp Tag的设计是非常原始的, 基本上就是在字符串层面上进行操作, 在运行的时候缺乏对页面结构强有力的控制. 实际上, 在我看来, 所有基于jsp tag的技术都受制于jsp tag的先天的局限性, 很难有深度的发展, 包括JSF技术.

上面是我在网上看到的,(witrix平台我不知道)这点在自己使用AjaxAnyWhere也确实是这样的。其实Ajax只是把它标明aa:zone 那一部分提取出来。然后把页面中的相应部分换掉。而且我还发现一个问题,如果在aa:zone 之间的是<tr></tr>部分时,它并不能换掉页面的内容。

我在使用AjaxAnyWhere时也曾想过自己写一个js文件来对一些请求验证之类的进行处理。后来想最好还是加入另一种ajax框架好点。不过目前还没有加入,如果大家有感觉好的可以提示一下。

 

相关文章推荐

ajaxAnywhere使用步骤

1、  把 ajaxanywhere-1.2-RC2.jar 压缩包复制到  \工程名\WebRoot\WEB-INF\lib 目录下。 2、  把 ajaxanywhere.tld 文件复制到 \...

AjaxAnywhere简介

AjaxAnywhere的官方站点是http://ajaxanywhere.sourceforge.net,本书撰写的时候最新的版本是1.1.0.6,读者可以从sourceforge.net下载到最新...
  • j315321
  • j315321
  • 2011年07月13日 22:04
  • 797

ajax使用jquery提交或者ajaxanywhere2种提交方式的取得数据的方法

最近这段时间在学习用ajax刷新页面,分别学习了用jquery和ajaxanywhere去异步提交,接收处理数据.下面来记录一下: 一。 使用jquery进行提交数据的方式: var params =...

struts2整合ajaxanywhere

很少写博客,最近发现大家都很兴趣整合struts2和ajaxanywhere都出现问题.下面我来记录下我配置并成功运行的经验: 1、首先配置struts2、这个是必须的。我来简单的把配置和部分代码粘贴...

ajaxanywhere

AjaxAnywhere 读者可以从AjaxAnywhere的官方网站下载demo演示包,它是一个war工程包,可以直接部署在5.0以上版本的Tomcat服务器上。演示包中包含十二个AjaxAnywh...

ajaxanywhere 总结

ajaxanywhere 总结: 1,简介 AjaxAnywhere被设计成能够把任何一套现存的JSP组件转换成AJAX感知组件而不需要复杂的JavaScript编码.它利用标签把Web页面简单地...
  • eric_za
  • eric_za
  • 2014年08月19日 13:59
  • 265

ajaxAnywhere 例子

  • 2014年06月23日 11:21
  • 74KB
  • 下载

ajaxAnyWhere所需jar包及实例

  • 2012年11月29日 16:47
  • 614KB
  • 下载

Vuejs的学习笔记1---------响应式原理

Vuejs采用的基于依赖收集的观测机制        1 将原生的数据改造成可观测对象,一个可观测的对象可以被取值,也可以被赋值        2 在watcher的求值过程中,每一个被取...

aa.js ajaxanywhere.js

  • 2011年08月07日 13:44
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AjaxAnyWhere的原理
举报原因:
原因补充:

(最多只允许输入30个字)