Dwr配置Word文档下载推荐.docx
《Dwr配置Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Dwr配置Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
/param-name>
param-value>
true<
/param-value>
/init-param>
/servlet>
--指定核心Servlet的URL映射-->
servlet-mapping>
--指定核心Servlet映射的URL-->
url-pattern>
/dwr/*<
/url-pattern>
/servlet-mapping>
3.配置dwr.xml
<
dwr>
allow>
--使用new关键资创建一个Java实例
指定创建的JavaScript对象名为hello-->
createcreator="
new"
javascript="
hello"
>
--使用class属性指定创建该Java实例的实现类-->
paramname="
class"
value="
lee.HelloDwr"
/>
/create>
--对lee.Person类使用Bean转换器-->
convertconverter="
bean"
match="
lee.Person"
--对lee.Cat使用Object转换器-->
object"
lee.Cat"
--指定force="
true"
强制使用反射访问私有属性-->
force"
/convert>
/allow>
signatures>
[CDATA[
importjava.util.List;
importlee.HelloDwr;
importlee.Person;
HelloDwr.sendListNoGeneric(List<
Person>
);
]]>
/signatures>
//导入所引用的对象或使用泛型定义参数否则dwr无法解析为有效javascript对象
/dwr>
二、配置对应的实现类和页面js
publicclassHelloDwr
{
//第一个简单的hello方法
publicStringhello(Stringname)
{
returnname+"
,您好!
您已经开始了DWR的学习之旅,祝您学得开心..."
;
}
//使用一个JavaBean作为参数的方法
publicStringsendObj(Personp)
returnp.getName()+"
您已经学会了使用JavaBean参数..."
//返回JavaBean实例的方法
publicPersongetBean(Stringname)
returnnewPerson(name);
//返回一个普通的Java对象,Cat对象为其属性提供setter和getter方法
publicCatgetObject(Stringname)
returnnewCat("
服务器端"
+name);
//返回一个集合对象
publicList<
getPersonList()
List<
result=newArrayList<
();
result.add(newPerson("
集合aaaa"
));
集合bbbb"
集合cccc"
returnresult;
//返回一个数组对象
publicPerson[]getPersonArray()
Person[]result=newPerson[3];
result[0]=newPerson("
数组aaaa"
result[1]=newPerson("
数组bbbb"
result[2]=newPerson("
数组cccc"
//返回一个Map对象
publicMap<
String,Person>
getPersonMap()
//创建一个Map对象
Map<
result=newHashMap<
//填充Map对象的内容
result.put("
first"
newPerson("
Mapaaaa"
second"
Mapbbb"
third"
Mapcccc"
//返回Map
//远程方法的参数是集合
publicStringsendList(List<
pl)
Stringresult="
"
for(Personp:
{
result+=p.getName()+"
br/>
}
//远程方法的参数是不带泛型的集合
publicStringsendListNoGeneric(Listpl)
Stringresult="
for(Objectp:
result+=((Person)p).getName()+"
returnresult;
}
publicStringsendMap(Map<
String,Person>
pmap)
for(Stringkey:
pmap.keySet())
result+="
键"
+key+"
其值为:
+
pmap.get(key).getName()+"
Js文件
//-------------发送简单字符串参数,返回普通字符串--------------
functionsendMessage()
//获取页面中name元素的值
varname=document.getElementById("
name"
).value;
//调用远程方法,cb是回调函数
hello.hello(name,cb)
functioncb(data)
document.getElementById("
show"
).innerHTML=data;
//-----------发送一个JavaBean对象作为参数,返回普通字符串------------
functionsendObject()
varnameValue=document.getElementById("
//调用远程方法,使用JavaScript对象作为参数
hello.sendObj({name:
nameValue},cb);
//----------------调用返回JavaBean方法-----------------
functiongetBean()
//调用远程方法,beanCb是回调函数
hello.getBean(name,beanCb)
functionbeanCb(data)
//服务器方法返回JavaBean对象,客户端的data是JavaScript对象
).innerHTML=
data.name+"
,您好,您已经学会了使用JavaBean返回值"
//----------------调用返回getObject方法---------------
functiongetObject()
//调用远程方法,objCb是回调函数
hello.getObject(name,objCb)
functionobjCb(data)
//服务器方法返回非JavaBean式的对象,客户端的data是JavaScript对象
,是从服务器返回的猫的名字"
//---------------调用返回集合的方法--------------
functiongetBeanList()
//调用远程方法,listCb返回回调函数
hello.getPersonList(listCb);
//远程Java方法返回List对象,集合元素是JavaBean式的对象
//此处的data是JavaScript对象数组
functionlistCb(data)
varresult='
'
//遍历每个数组元素
for(vari=0;
i<
data.length;
i++)
result+=data[i].name+"
).innerHTML=result;
//---------------调用返回数组的方法--------------
functiongetBeanArray()
hello.getPersonArray(arrayCb);
functionarrayCb(data)
varresult="
//下面的data是远程Java方法的返回值,
//data是个数组,遍历数组。
data.length