1.web.xml中dwr定义的一点小技巧
可以设置dwr的日志级别
- <init-param>
- <param-name>logLevelparam-name>
- <param-value>DEBUGparam-value>
- init-param>
另外增加下面的参数,可以让dwr以debug模式产生测试页面
- <init-param>
- <param-name>debugparam-name>
- <param-value>trueparam-value>
- init-param>
2.dwr.xml介绍
- "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
- "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
- <dwr>
- <init>
- <creator id="..." class="..."/>
- <converter id="..." class="..."/>
- init>
- <allow>
- <create creator="..." javascript="..."/>
- <convert converter="..." match="..."/>
- allow>
- <signatures>
- ...
- signatures>
- dwr>
- create元素介绍
- <create creator="..." javascript="..." scope="...">
- <param name="..." value="..."/>
- <auth method="..." role="..."/>
- <exclude method="..."/>
- <include method="..."/>
- <create> 对各个元素进行描述
creator属性
- new:指用java的new操作符创建对象
- none:并不产生对象
- scripted:用脚本语言创建对象,如BeanShell 或 Groovy via BSF
- spring:通过spring framework创建对象
- jsf:
- struts:使用struts的FormBean
- pageflow:使用Beehive or Weblogic的PageFlow
- ejb3:
javascript属性
在浏览器端代理远程java对象的javascript对象的名字
scope属性
远程java对象scope可以设置page、request、session、application。
param子元素
参数
include和exclude子元素
限制访问的方法
- <exclude method="..."/>
auth子元素
限制访问权限
- <auth method="setWibble" role="admin"/>
- converter元素介绍
converter是用来负责在java和javascript中传递参数。一般String,BigDecimal等简单类型的对象已经默认内置了converter了,不需要用户来定义了。类型包括:boolean, byte, short, int, long, float, double, char, java.lang.Boolean, java.lang.Byte, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Float, java.lang.Double, java.lang.Character, java.math.BigInteger, java.math.BigDecimal and java.lang.String。
- <convert converter="bean" match="com.sun.User"/> //转换一个java类到javascript中,如果用.*可以转换包中所有类
- <convert converter="array" match="[B"/> //转换一个数组到javascript array中,数组中的元素是byte,这里B代表byte,I代表int,D代表double,J代表long,S代表short,C代表char,Z代表boolean,F代表float。另外:
- (new int[3][4][5][6][7][8][9]).getClass().getName()
- returns "[[[[[[[I"
- 如果是match="[L*" 中*可以匹配任意字符
converter包括:
bean:对象转换工具
array:数据转换工具
collection:集合转换工具
- 2.0开始
- <convert converter="collection" match="java.util.Collection"/>
- <convert converter="map" match="java.util.Map"/>
enum:enum转换工具
- <convert converter="enum" match="your.full.package.EnumName"/>
dom转换工具,预设的
- signature元素介绍
signature是为了让dwr知道参数中的集合的元素的类型,例如参数中有个List,但不知道List中的元素的类型,可以这样:
- <signatures>
- import java.util.List;
- import com.example.Check;
- Check.setLotteryResults(List<integer></integer> nos);
- ]]>
- signatures>