基于J2EE的Ajax技术(4)

2019-03-28 14:58

//注意Hello类中的abc方法被暴露,没有圆括号。其他的方法javascript对象hello不能调用

convert 元素(转换器)

creator 负责公开用于 Web 远程的类和类的方法,convertor 则负责这些方法的参数和返回类型。当我们声明一个方法时,该方法的参数是java 类型或返回值是java类型就需要转换器。

convert 元素的作用是告诉 DWR 在服务器端 Java 对象表示和序列化的 JavaScript 之间如何转换数据类型。

DWR 自动地在 Java 和 JavaScript 表示之间调整简单数据类型。这些类型包括 Java基本数据类型,还有 String、Date、数组和集合类型。这些类型不需要显示的在dwr.xml中配。DWR 默认关闭了Bean和Object转换器。Bean转换器用于完成javabean 对象和 json格式javascript对象之间的转换。必须要显示的配置。object转换器与Bean转换器非常类似,他们的作用完全相同,都是用于完成java对象和json格式的javascript对象之间的转换,但object转换器的功能更强大。他通过java的反射机制来访问java对象的属性,即他无须提供setter和getter方法也可访问对应的属性。而Bean转换器通过上溯两个方法访问。

Bean转换器的语法: 如果同时需要转换某个包下的所有的类:

如果远程方法的返回值是 javabean实例,那么客户端javascript调用该方法也返回一个javascript对象,该对象是一个JSON格式的对象。默认这个对象包含了java对象的所有属性。JSON 格式对象

{name:’namevalue’} 如果某个方法包含了com.Person的对象在客户端这样调用:

Var name=document.getElementById(“name”).value; Var age=document.getElementById(“age”).value; Var obj={ Name:name, Age:age }

Hello.sendObject(obj,callbackname);

上面的代码表明在转换时将不会转换prop1,prop2两个属性。这叫黑名单方式。如果远程方法的参数或返回值不是javabean而是普通object就用object转换器。

数组转换器参见例子 集合转换器参见例子 方法的声明:

DWR使用反射来确定java 实例和javascript对象之间的转换。有时类型信息并不明确,或者参数是一个集合,集合元素的类型不明确,此时可以在dwr.xml文件的方法声明部分明确定义这些类型

方法声明放在signatures元素中,该元素的值是一个普通字符窜。通常用将所有字符串包含起来。例如:list中放的什么不知道 Public void sendList(List p1){ ……. }

方法声明可以告诉DWR应该用什么类型去处理。

Import java.util.List; Import lee.HeleloDwr;

HelloDwr.sendList(List); ]]>

一个DWR的简单例子:

到http://getahead.ltd.uk/dwr/download下载dwr.jar文件。

2、用eclipse新建一个项目,我的项目名就叫dwr。

3、把刚才下载的dwr.jar放到web-inf/lib下面。

4、在web.xml中加入一下内容:

dwr-invoker DWR Servlet

Direct Web Remoter Servlet

uk.ltd.getahead.dwr.DWRServlet

debug true

dwr-invoker /dwr/*

5、在web.xml的所在目录下新建dwr.xml,内容如下:

value=\

6、创建服务器端的程序com.wuahui.test.ajax.AjaxTest.java,代码如下:

package com.wuahui.test.ajax;

import java.util.Date;

public class AjaxTest {

public String dispCurrentTime(){ return new Date().toString(); } }

7、在web目录下创建前台页面myAjax.html,内容如下:

DWR Test

onclick='Test.dispCurrentTime(reply0);' value='查看当前时间' title='查看服务器上的时间'/>

8、把项目部署到Tomcat上面运行

http://localhost:8080/dwr/myAjax.html即可。


基于J2EE的Ajax技术(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初中生物总复习学案440 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: