dwr.xml配置詳解

       感受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>

       <init> 部分聲明那些用於創建遠程bean和在方法調用中轉換bean的類.這部分是可選擇性配置的,若是你想定義一個新的creator(創造器)或者converter(轉換器),那麼就必須在部分中聲明,每一個creator和converter須要有個id屬性來容許之後進行引用。

       <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

    • new: 用Java的new關鍵字創造對象。
    • none: 它不建立對象。 (v1.1+)
    • scripted: 經過BSF使用腳本語言建立對象,例如BeanShell或Groovy。
    • spring: 經過Spring框架訪問Bean。
    • jsf: 使用JSF的Bean。 (v1.1+)
    • struts: 使用Struts的FormBean。 (v1.1+)
    • pageflow: 訪問Beehive或Weblogic的PageFlow。 (v1.1+)
       還有一個屬性爲scope默認爲page ,其值還有application、session、request、script。
       <creator>下的配置節點:

<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,則全部屬性都可訪問。

       參考:

dwr配置文件dwr.xml詳解

dwr.xml 配置文件詳解

dwr.xml的配置

相關文章
相關標籤/搜索