在WebWork2.2中,引入了Dojo ( http://dojotoolkit.org ) 和DWR ( http://getahead.ltd.uk/dwr/ ) 两个新的类库来支持AJAX功能.
其中主要增加的特性包括:
1.
Remote Div Tag -- 远程区域块标签,通过异步调用获取内容,来动态更新Div.可以循环更新.
2.
Remote A Tag --远程链接标签,点击链接时进行一个远程异步调用,可以动态更新Div的内容.
3.
Tabbed Panelds --选项卡页面,和普通程序中的选项卡一样,可以有多个选项页面,每个页面的内容都可以设置(本地或者从远程获取),点击一个选项页,切换页面.
4.
Remote Form --远程表单,也就是提交但不刷新的表单,点击提交按钮,页面不刷新,通过远程异步调用,更新目标区域的内容.
5.
Form Validation --表单校验,在表单中的每个控件输入数据都可以进行即时的校验,主要使用的是DWR.
先了解一下Dojo的工作原理:
清除缓存的代码:
1 response.setHeader("Pragma", "no-cache");
2 response.setHeader("Cache-Control", "no-cache");
3 response.setDateHeader("Expires", 0);
或者用html的meta来试试,不过那就包含在内容里了.
为了使用WebWork的AJAX组件,我们需要在页面里面根据Dojo的做法包含一些代码,例如ajax例子里面的
commonInclude.jsp文件:
1 <%@ taglib prefix="ww" uri="/webwork" %>
2 <!--// START SNIPPET: common-include-->
3 <script language="JavaScript" type="text/javascript">
4 // Dojo configuration
5 djConfig = {
6 baseRelativePath: "<ww:url includeParams="none" value="/webwork/dojo/"/>",
7 isDebug: false
8 };
9 </script>
10
11 <script language="JavaScript" type="text/javascript"
12 src="<ww:url includeParams="none" value="/webwork/dojo/dojo.js" />"></script>
13 <script language="JavaScript" type="text/javascript"
14 src="<ww:url includeParams="none" value="/webwork/CommonFunctions.js" />"></script>
15
16 <script language="JavaScript" type="text/javascript">
17 dojo.require("dojo.io.BrowserIO");
18 dojo.require("dojo.event.topic");
19 dojo.require("webwork.widgets.Bind");
20 dojo.require("webwork.widgets.BindDiv");
21 dojo.require("webwork.widgets.BindButton");
22 dojo.require("webwork.widgets.BindAnchor");
23 </script>
24 <!--// END SNIPPET: common-include-->
25
这个文件里面对Dojo进行了设置,包含dojo.js,并且引入了webwork实现的这几个装饰件的代码,在后面的每个例子中,都要包含这个文件,因为后面的介绍中将省略这个文件的介绍,要想了解更多信息,可以参考Dojo的文档.
提示:其实在webwork框架下面引入dojo最容易了只需在页面加入下面一行即可:
<ww:head theme="ajax" debug="true" />
--待续--