在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" />
--待續--