DWR的使用經驗:
1.. 需要jdom.jar和bsf.jar,否則無法跟spring整合.
2.. dwr生成的javascript函數會自動加一個回調函數的參數,如原來的函數是checkExist(String name),那么生成的javascript函數是checkExist(callbackFunc,String name).
3.. 注意回調函數只能有一個參數,就是服務器的返回值,如function(messFromServer),這里messFromServer是該操作在服務器上的返回值.
4.. util.js里面有很多有用的方法,最好熟悉一下.
5.. convert并不是必須的,只有你的函數需要傳遞非基本數據類型的數據時需要此項.
我需要增強的,dom操作,javascript
DWR collection converter 使用摘要
<convert converter="collection" match="java.util.Collection"/>但是不知道怎么用,從 Java Object --> Javascript Object 問題不大,有現成的例子可供參考 :),就是 Java function 返回一個Collection,看了一下返回值在 javascript 中是的形式是一個object Array然后在 javascript 取出每一個 Object的 property (eg. object.id , objecct.name....)
下面是一個應用實例---------------------DWR.XML------------------------------
<dwr>
<allow>
<convert converter="bean" match="dwr.sample.Apartment"/>
<create creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO">
<include method="findApartments"/>
<include method="countApartments"/>
<include method="addApartment"/>
<include method="addApartments"/>
<include method="addApartments2"/>
</create>
<create creator="spring" javascript="ApartmentDAO" >
</create>
</allow>
<signatures>
<![CDATA[import java.util.*;
import dwr.sample.*;
ApartmentDAO.addApartments(List<Apartment>);
ApartmentDAO.addApartments2(Map<String,Apartment>);
]]>
</signatures>
</dwr>
如果傳如 java 的代碼的參數 是一個 Collection ,則要稍微處理以下,先照上面 黑體字 的聲明以下傳入的Collection的內部包含的類的 確切類型,以便 Java 代碼 作出判斷;如果傳入的參數是一個 List,則在 Javascript 中把這些對象放在 一個Array中就可以了,如果傳入的參數是一個Map,原來以為是一個 二維的 Array就行了,但是試過之后發現不行,看了一下例子,原來要使用這種形式: var depts={ "dept1":new department("2", "200"),"dept2":new department("3", "300") };這樣傳進去之后 Java 就會根據 這些 數據構建 一個Map,
posted on 2007-07-26 16:01
有貓相伴的日子 閱讀(640)
評論(1) 編輯 收藏 所屬分類:
dwr