dwr.xml構成の詳細

4300 ワード

dwrは実用的な感じがするので、もっと知りたいです.dwrの核心はこのdwrです.xml.ネット上で収集していくつかdwr.を整理しましたxmlの構成情報.今出してみんなと分かち合います.
       dwr.xmlの概略構造は以下の通りである.
<!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>

は、リモートbeanを確立し、メソッド呼び出しでbeanを変換するためのクラスを部分的に宣言する.このセクションは選択的に構成されています.新しいcreator(クリエイター)またはconverter(コンバータ)を定義する場合は、各creatorとconverterに後で参照できるid属性が必要であることをセクションで宣言する必要があります.
セクションでは、javascriptアクセスのためにDWRが作成および変換できるクラスを定義します.
ラベルにjavascriptでアクセスできるjavaクラスを指定し、dwrがリモートで使用するクラスのインスタンスをどのように取得するかを定義します.
ここでjavascript=「testClass」プロパティは、javascriptコードがオブジェクトにアクセスするときに使用する名前を指定します.
creatorはクラスコンストラクタであり、creator=「new」属性はjavaクラスインスタンスの生成方式を指定し、newはDWRがクラスのデフォルトコンストラクタを呼び出してインスタンスを得るべきことを意味し、その他にspring方式があり、IOCコンテナSpringと統合してインスタンスを得るなどしている. 
デフォルトではDWR 1.1には8種類の創造器があります.これらは次のとおりです.
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+)
    もう1つのプロパティはscopeで、デフォルトはpageで、その値にはapplication、session、request、scriptがあります.
    の下の構成ノード:
    ラベルjavascriptに公開するjavaクラス名を指定します.
    ラベルはjavascriptに公開する方法を指定します.指定しなければすべての方法を公開します.
    ラベルは、アクセスを防止する方法を指定します.
    タグは、アクセス制御チェックとしてJ 2 EEロールを指定します.
    ラベル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の構成