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>
<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,
2. 应用DWR的处理类中,要注意下面两点,是必须进行限制的
1》 行程处理类的方法名不要用户JS的保留字
2》 远程处理类的方法不要重载
3。
JavaScript的数据类型与Java数据类型的关系
JavaScript
|
Java
|
Array数组
|
List、Collection、数组
|
Boolean
|
Boolean
|
Object
|
Map、Java Bean
|
String
|
String
|
Date
|
Date
|
Numbers
|
Int、double、float等数值
|
XML Dom
|
Dom
|
undefined
|
null
|
4。
DWR主要组成部分
JS引擎《-----》 总控制器 《-----》 组件执行器 《-----》 数据转换器
5。
DWR前台引擎(Engine.js)的主要职责
分享到:
评论