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>

<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,他们分别如下:

<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的配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值