Dwr配置.docx

上传人:b****3 文档编号:2944265 上传时间:2022-11-16 格式:DOCX 页数:23 大小:21.96KB
下载 相关 举报
Dwr配置.docx_第1页
第1页 / 共23页
Dwr配置.docx_第2页
第2页 / 共23页
Dwr配置.docx_第3页
第3页 / 共23页
Dwr配置.docx_第4页
第4页 / 共23页
Dwr配置.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Dwr配置.docx

《Dwr配置.docx》由会员分享,可在线阅读,更多相关《Dwr配置.docx(23页珍藏版)》请在冰豆网上搜索。

Dwr配置.docx

Dwr配置

Dwr配置

一、配置环境

1.导入dwr.jar

commons-logging.jar

2.在web.xml中配置

--指定DWR核心Servlet的名字-->

dwr-invoker

--指定DWR核心Servlet的实现类-->

org.directwebremoting.servlet.DwrServlet

--指定DWR核心Servlet处于调试状态-->

debug

true

--指定核心Servlet的URL映射-->

dwr-invoker

--指定核心Servlet映射的URL-->

/dwr/*

3.配置dwr.xml

--使用new关键资创建一个Java实例

指定创建的JavaScript对象名为hello-->

--使用class属性指定创建该Java实例的实现类-->

--对lee.Person类使用Bean转换器-->

--对lee.Cat使用Object转换器-->

--指定force="true"强制使用反射访问私有属性-->

[CDATA[

importjava.util.List;

importlee.HelloDwr;

importlee.Person;

HelloDwr.sendListNoGeneric(List);

]]>

//导入所引用的对象或使用泛型定义参数否则dwr无法解析为有效javascript对象

二、配置对应的实现类和页面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);

}

//返回一个集合对象

publicListgetPersonList()

{

Listresult=newArrayList();

result.add(newPerson("集合aaaa"));

result.add(newPerson("集合bbbb"));

result.add(newPerson("集合cccc"));

returnresult;

}

//返回一个数组对象

publicPerson[]getPersonArray()

{

Person[]result=newPerson[3];

result[0]=newPerson("数组aaaa");

result[1]=newPerson("数组bbbb");

result[2]=newPerson("数组cccc");

returnresult;

}

//返回一个Map对象

publicMapgetPersonMap()

{

//创建一个Map对象

Mapresult=newHashMap();

//填充Map对象的内容

result.put("first",newPerson("Mapaaaa"));

result.put("second",newPerson("Mapbbb"));

result.put("third",newPerson("Mapcccc"));

//返回Map

returnresult;

}

//远程方法的参数是集合

publicStringsendList(Listpl)

{

Stringresult="";

for(Personp:

pl)

{

result+=p.getName()+"
";

}

returnresult;

}

//远程方法的参数是不带泛型的集合

publicStringsendListNoGeneric(Listpl)

{

Stringresult="";

for(Objectp:

pl)

{

result+=((Person)p).getName()+"
";

}

returnresult;

}

//远程方法的参数是集合

publicStringsendMap(Mappmap)

{

Stringresult="";

for(Stringkey:

pmap.keySet())

{

result+="键"+key+"其值为:

"+

pmap.get(key).getName()+"
";

}

returnresult;

}

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("name").value;

//调用远程方法,使用JavaScript对象作为参数

hello.sendObj({name:

nameValue},cb);

}

//----------------调用返回JavaBean方法-----------------

functiongetBean()

{

varname=document.getElementById("name").value;

//调用远程方法,beanCb是回调函数

hello.getBean(name,beanCb)

}

functionbeanCb(data)

{

//服务器方法返回JavaBean对象,客户端的data是JavaScript对象

document.getElementById("show").innerHTML=

data.name+",您好,您已经学会了使用JavaBean返回值";

}

//----------------调用返回getObject方法---------------

functiongetObject()

{

varname=document.getElementById("name").value;

//调用远程方法,objCb是回调函数

hello.getObject(name,objCb)

}

functionobjCb(data)

{

//服务器方法返回非JavaBean式的对象,客户端的data是JavaScript对象

document.getElementById("show").innerHTML=

data.name+",是从服务器返回的猫的名字";

}

//---------------调用返回集合的方法--------------

functiongetBeanList()

{

//调用远程方法,listCb返回回调函数

hello.getPersonList(listCb);

}

//远程Java方法返回List对象,集合元素是JavaBean式的对象

//此处的data是JavaScript对象数组

functionlistCb(data)

{

varresult='';

//遍历每个数组元素

for(vari=0;i

{

result+=data[i].name+"
";

}

document.getElementById("show").innerHTML=result;

}

//---------------调用返回数组的方法--------------

functiongetBeanArray()

{

hello.getPersonArray(arrayCb);

}

functionarrayCb(data)

{

varresult="";

//下面的data是远程Java方法的返回值,

//data是个数组,遍历数组。

for(vari=0;i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1