感受dwr很實用,因此想多瞭解一下。dwr的核心就是這個dwr.xml。在網上收集整理了一些dwr.xml的配置信息。現拿出來與你們分享。javascript
dwr.xml的大致結構以下:html
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> //整個配置文件的大致結構以下: <dwr> <init> <creator id="..." class="..."/> <converter id="..." class="..."/> </init> <allow> <create creator="..." javascript="..." scope="..."> <param name="..." value="..."/> </create> <convert convertor="..." match="..."/> </allow> <signatures> ... </signatures>
<allow> 部分定義了DWR可以建立和轉換的類,以供 javascript 訪問。
java
<create> 標籤中指定 javascript 中能夠訪問的 java 類,並定義 dwr 應當如何得到要進行遠程的類的實例。spring
其中 javascript=" testClass " 屬性指定 javascript 代碼訪問對象時使用的名稱。json
creator是類構造器,creator="new" 屬性指定 java 類實例的生成方式, new 意味着 DWR 應當調用類的默認構造函數來得到實例,其餘的還有 spring 方式,經過與 IOC 容器 Spring 進行集成來得到實例等等。 session
默認狀況下DWR1.1有8種創造器。它們是:app
<param> 標籤指定要公開給 javascript 的 java 類名。框架
<include> 標籤指定要公開給 javascript 的方法。不指定的話就公開全部方法。dom
<exclude> 標籤指定要防止被訪問的方法。函數
<auth> 標籤指定一個J2EE角色做爲訪問控制檢查。
<convert> 標籤因爲dwr只支持json的數據格式,所以在dwr中咱們要讀取javaBean中的屬性,就必須將其轉換成json的數據格式,這須要配置convert進行轉換。
DWR已經默認定義和初始化了經常使用的Converter,他們分別以下:
<converter id="null" class="uk.ltd.getahead.dwr.convert.NullConverter"/> <converter id="primitive" class="uk.ltd.getahead.dwr.convert.PrimitiveConverter"/> <converter id="bignumber" class="uk.ltd.getahead.dwr.convert.BigNumberConverter"/> <converter id="string" class="uk.ltd.getahead.dwr.convert.StringConverter"/> <converter id="date" class="uk.ltd.getahead.dwr.convert.DateConverter"/> <converter id="array" class="uk.ltd.getahead.dwr.convert.ArrayConverter"/> <converter id="map" class="uk.ltd.getahead.dwr.convert.MapConverter"/> <converter id="collection" class="uk.ltd.getahead.dwr.convert.CollectionConverter"/> <converter id="bean" class="uk.ltd.getahead.dwr.convert.BeanConverter"/> <converter id="hibernate" class="uk.ltd.getahead.dwr.convert.HibernateBeanConverter"/> <converter id="dom" class="uk.ltd.getahead.dwr.convert.DOMConverter"/> <converter id="dom4j" class="uk.ltd.getahead.dwr.convert.DOM4JConverter"/> <converter id="jdom" class="uk.ltd.getahead.dwr.convert.JDOMConverter"/> <converter id="xom" class="uk.ltd.getahead.dwr.convert.XOMConverter"/> <converter id="servlet" class="uk.ltd.getahead.dwr.convert.ServletConverter"/>在convert中,還能夠設定param進行受權訪問控制,例如:
<convert converter="bean" match="com.tgb.DwrTest"/> <param name="include" value="property1, property2"/> </convert>其中include表示只容許value中的屬性能夠訪問,exclude表示除了value中的屬性,其餘屬性都可訪問。若是不設定param,則全部屬性都可訪問。
參考: