dwr.xml配置详解

来源:互联网 发布:万能网络视频下载器 编辑:程序博客网 时间:2024/05/10 23:31

       感觉dwr很实用,所以想多了解一下。dwr的核心就是这个dwr.xml。在网上收集整理了一些dwr.xml的配置信息。现拿出来与大家分享。


       dwr.xml的大体结构如下:

[html] view plain copy
print?
  1. <!DOCTYPE dwr PUBLIC  
  2.     ”-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN”  
  3.     “http://www.getahead.ltd.uk/dwr/dwr20.dtd”>  
  4. //整个配置文件的大体结构如下:  
  5. <dwr>  
  6.   <init>  
  7.     <creator id=“…” class=“…”/>  
  8.     <converter id=“…” class=“…”/>  
  9.   </init>  
  10.   <allow>  
  11.     <create creator=“…” javascript=“…” scope=“…”>  
  12.       <param name=“…” value=“…”/>  
  13.     </create>  
  14.     <convert convertor=“…” match=“…”/>  
  15.   </allow>  
  16.   <signatures>  
  17.     …  
  18.   </signatures>  
<!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 访问。

       <create> 标签中指定 javascript 中可以访问的 Java 类,并定义 dwr 应当如何获得要进行远程的类的实例。

其中 javascript=” testClass ” 属性指定 javascript 代码访问对象时使用的名称。

creator是类构造器,creator=”new” 属性指定 java 类实例的生成方式, new 意味着 DWR 应当调用类的默认构造函数来获得实例,其他的还有 spring 方式,通过与 IOC 容器 Spring 进行集成来获得实例等等。 

       默认情况下DWR1.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+)
       还有一个属性为scope默认为page ,其值还有application、session、request、script。
       <creator>下的配置节点:

<param> 标签指定要公开给 javascript 的 java 类名。

<include> 标签指定要公开给 javascript 的方法。不指定的话就公开所有方法

<exclude> 标签指定要防止被访问的方法。

<auth> 标签指定一个J2EE角色作为访问控制检查。


       <convert> 标签由于dwr只支持json的数据格式,因此在dwr中我们要读取javaBean中的属性,就必须将其转换成json的数据格式,这需要配置convert进行转换。

       DWR已经默认定义和初始化了常用的Converter,他们分别如下: 

[html] view plain copy
print?
  1. <converter id=“null”  
  2.     class=“uk.ltd.getahead.dwr.convert.NullConverter”/>  
  3. <converter id=“primitive”  
  4.     class=“uk.ltd.getahead.dwr.convert.PrimitiveConverter”/>  
  5. <converter id=“bignumber”  
  6.     class=“uk.ltd.getahead.dwr.convert.BigNumberConverter”/>  
  7. <converter id=“string”  
  8.     class=“uk.ltd.getahead.dwr.convert.StringConverter”/>  
  9. <converter id=“date”  
  10.     class=“uk.ltd.getahead.dwr.convert.DateConverter”/>  
  11. <converter id=“array”  
  12.     class=“uk.ltd.getahead.dwr.convert.ArrayConverter”/>  
  13. <converter id=“map”  
  14.     class=“uk.ltd.getahead.dwr.convert.MapConverter”/>  
  15. <converter id=“collection”  
  16.     class=“uk.ltd.getahead.dwr.convert.CollectionConverter”/>  
  17. <converter id=“bean”  
  18.     class=“uk.ltd.getahead.dwr.convert.BeanConverter”/>  
  19. <converter id=“hibernate”  
  20.     class=“uk.ltd.getahead.dwr.convert.HibernateBeanConverter”/>  
  21. <converter id=“dom”  
  22.     class=“uk.ltd.getahead.dwr.convert.DOMConverter”/>  
  23. <converter id=“dom4j”  
  24.     class=“uk.ltd.getahead.dwr.convert.DOM4JConverter”/>  
  25. <converter id=“jdom”  
  26.     class=“uk.ltd.getahead.dwr.convert.JDOMConverter”/>  
  27. <converter id=“xom”  
  28.     class=“uk.ltd.getahead.dwr.convert.XOMConverter”/>  
  29. <converter id=“servlet” class=“uk.ltd.getahead.dwr.convert.ServletConverter”/>  
<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进行授权访问控制,例如:

[html] view plain copy
print?
  1. <convert converter=“bean” match=“com.tgb.DwrTest”/>  
  2.   <param name=“include” value=“property1, property2”/>  
  3. </convert>  
<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的配置


原创粉丝点击