在WebWork2.2中,引入了Dojo ( http://dojotoolkit.org ) 和DWR ( http://getahead.ltd.uk/dwr/ ) 两个新的部件来支持AJAX功能.
其中主要增加的特性包括:
    - Remote Div Tag -- 远程区域块标签,通过异步调用获取内容,来动态更新Div.可以循环更新. 
- Remote A Tag  --远程链接标签,点击链接时进行一个远程异步调用,可以动态更新Div的内容. 
- Tabbed Panelds --选项卡页面,和普通程序中的选项卡一样,可以有多个选项页面,每个页面的内容都可以设置(本地或者从远程获取),点击一个选项页,切换页面. 
- Remote Form --远程表单,也就是提交但不刷新的表单,点击提交按钮,页面不刷新,通过远程异步调用,更新目标区域的内容. 
- Form Validation --表单校验,在表单中的每个控件输入数据都可以进行即时的校验,主要使用的是DWR.这个在前面已经演示过了. 
目前这几个控件在IE上表现的都有一些问题:
    - 目前Remote Form在IE下不工作,在FireFox下正常工作. 
- 目前动态刷新在IE上好像都有缓存问题,在FireFox下没有问题.(如果在结果页面增加清除缓存的代码,可以解决这个问题)
 
因为以前没有使用过AJAX,所以后面的文字基本是把webwork wiki上的文档翻译一下,然后按照webwork自带的ajax的教程使用并说明一下.
建议使用这几个标签之前,了解一下Dojo的工作原理,这样才能知其所以然.
清除缓存的代码:
    
        
            | <% response.setHeader("Pragma", "no-cache");
 response.setHeader("Cache-Control", "no-cache");
 response.setDateHeader("Expires", 0);
 %>
 | 
    
或者用html的meta来试试,不过那就包含在内容里了.
为了使用WebWork的AJAX组件,我们需要在页面里面根据Dojo的做法包含一些代码,例如ajax例子里面的commonInclude.jsp文件:
    
        
            | <%@ taglib prefix="ww" uri="/webwork" %><!--// START SNIPPET: common-include-->
 <script language="JavaScript" type="text/javascript">
 // Dojo configuration
 djConfig = {
 baseRelativePath: "<ww:url includeParams="none" value="/webwork/dojo/"/>",
 isDebug: false
 };
 </script>
 <script language="JavaScript" type="text/javascript"src="<ww:url includeParams="none" value="/webwork/dojo/dojo.js" />"></script>
 <script language="JavaScript" type="text/javascript"
 src="<ww:url includeParams="none" value="/webwork/CommonFunctions.js" />"></script>
 <script language="JavaScript" type="text/javascript">dojo.require("dojo.io.BrowserIO");
 dojo.require("dojo.event.topic");
 dojo.require("webwork.widgets.Bind");
 dojo.require("webwork.widgets.BindDiv");
 dojo.require("webwork.widgets.BindButton");
 dojo.require("webwork.widgets.BindAnchor");
 </script>
 <!--// END SNIPPET: common-include-->
 | 
    
这个文件里面对Dojo进行了设置,包含dojo.js,并且引入了webwork实现的这几个装饰件的代码,在后面的每个例子中,都要包含这个文件,因此后面的介绍中将省略这个文件的介绍,要想了解更多信息,可以参考Dojo的文档.
 
注:AJAX对于WebWork来说还是一个新的特性,肯定会存在一些问题,我们要努力地去开发论坛上提意见 :)
 
2005-9-16:remote form 最新cvs上的版本已经可以在ie上运行.