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>