3). scripted: 通过BSF使用脚本语言创建对象,例如BeanShell或Groovydwr.xml是你用来配置DWR的文件,默认是将其放入WEB-INF文件夹。
对于dwr.xml 配置文件中的各个标签有的是必须会的 有的了解一下就可以
dwr.xml有如下的结构:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> <dwr> <!-- 仅当需要扩展DWR时才需要 --> <init> <creator id="..." class="..." /> <converter id="..." class="..." /> </init> <!-- 没有它DWR什么也做不了 --> <allow> <create creator="..." javascript="..." /> <convert converter="..." match="..." /> </allow> <!-- 有必要告诉DWR方法签名 --> <signatures>...</signatures> </dwr>
<init>标签
这个初始化部分申明被用来创建远程beans而且这个类能被用来以某种过程转换。大多数例子你将不需要用它,如果你想去定义一个新的Creator或者Converter,就要在此被申明。
在init部分里有了定义只是告诉DWR这些扩展类的存在,给出了如何使用的信息。这时他们还没有被使用。这种方式很像Java中的import语句。多数类需要在使用前先import一下,但是只有import语句并不表明这个类已经被使用了。每一个creator和converter都用id属性,以便后面使用。
<allow>标签
allow部分定义了DWR能够创建和转换的类。
Creator
每一个在类中被调用的方法需要一个<create …>有若干类型的creator,使用“new”关键字或者Spring 框架等
create元素是如下的结构
<allow> <create creator="..." javascript="..." scope="..."> <param name="..." value="..." /> <auth method="..." role="..." /> <exclude method="..." /> <include method="..." /> </create> ... </allow>
creator属性
是DWR默认的creator,如下所示
<create id="new" class="org.directwebremoting.create.NewCreator"/>
没有必要把它加入dwr.xml,它已经在DWR内部文件了。
javascript属性
当创建了dwr.xml配置文件信息 其中有一个JavaScript 属性 他的名称 是自己起的 但是必须保证 在 页面端引进的时候 保持一致(最好的方法 是 直接复制 dwr 测试中的 js)
<create creator="new" javascript="service"> <param name="class" value="helloWorld.Service" /> </create>
<html> <head> … <script type='text/javascript' src='dwr/interface/service.js'> 。。。。。
scope属性
scope选项是可选的,默认为page, 使用session请求cookies
param元素
被用来指定创造器的其他参数,每种构造器各有不同。例如,"new"创造器需要知道要创建的对象类型是什么。每一个创造器的参数在各自的文档中能找到。
include和exclude元素