`
lzh166
  • 浏览: 297979 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Dwr入门知识进阶三

    博客分类:
  • DWR
阅读更多
1、下面来看看Dwr对象输出示例:
有个person实体类:
public class Person {
	private int id;
	private String name;
	private String sex;
	private int age;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

业务逻辑类Test2
public class Test2 {
public String savePerson(Person person){
		person.setId(100);
		System.out.println(person.getName()+"被保存了,它的ID是:"+person.getId());
		return "Person[name="+person.getName()+",sex="+person.getSex()+",age="+person.getAge()+",id="+person.getId()+"]";
	}
}

dwr文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
    <create creator="new" javascript="test2">
      <param name="class" value="com.bjsxt.dwr.Test2"/>
    </create>
     <convert converter="bean" match="com.bjsxt.dwr.Person"/>
  </allow>
</dwr>

下面来看看Dwr如何利用javascript来给我们的person类赋值的,首先来看一下js中对数组对象的赋值方式:
方式一:数组:有序列表
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/test2.js"></script>
<script type="text/javascript">
//数组:有序列表
var a = ["张三",18,"男"];
alert(a[2]);
for(var i=0; i<a.length; i++){
	alert(a[i]);
}
</script>

方式二:对象:名值对无序列表
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/test2.js"></script>
<script type="text/javascript">
//对象:名值对无序列表
var a = {"name":"张三","sex":"男","age":18};
alert(a["sex"]);
for(var prop in a){
	alert(a[prop]);
}
</script>

下面我们来看看具体的存储一个用户信息的具体实现方式
方式一:采用名值对的方式
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/test2.js"></script>
<script type="text/javascript">
function testSavePerson(){
	var person = {"name":"王五","sex":"男","age":19};
	test2.savePerson(
		person,
		function(data){
			alert(data);
		}
	);
}
</script>

方式四:js中的对象赋值
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/test2.js"></script>
<script type="text/javascript">
function testSavePerson(){
	var person = new Object();
	person.name = "李四";
	person.sex = "男";
	person.age = 19;
	test2.savePerson(
		person,
		function(data){
			alert(data);
		}
	);
}
</script>

方式五:js中对象的构造函数来赋值
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/test2.js"></script>
<script type="text/javascript">
function Person(){
	this.name = "王五";
	this.sex = "男";
	this.age = 40;
}
function testSavePerson(){
	var person = new Person();
	test2.savePerson(
		person,
		function(data){
			alert(data);
		}
	);
}
</script>

<a href="#" onclick="testSavePerson()">保存人员信息</a>

下面来看看异步和同步方式
默认情况下,DWR以异步的方式跟服务器通信,即可以同时向服务器发送请求,如果想要改为同步的方式,可以调用:dwr.engine.setAsync(false);
下面贴出JavaBean
public class Test3 {
	public String method1(){
		return "method1被调用了";
	}
	
	public String method2(){
		return "method2被调用了";
	}
}

dwr.xml文件添加代码:
   <create creator="new" javascript="test3">
      <param name="class" value="com.bjsxt.dwr.Test3"/>
    </create>

下面是展现页面
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/test3.js"></script>
<script type="text/javascript">
function callMethod(){
	dwr.engine.setAsync(false);

	test3.method1(
		function(data){
			alert(data);
		}
	);
	
	test3.method2(
		function(data){
			alert(data);
		}
	);
}
</script>
</head>
<body>
<a href="#" onclick="callMethod()">测试异步和同步方式</a>
</body>
</html>

分享到:
评论

相关推荐

    DWR入门资料

    #### 三、DWR入门 **1.1 简介** DWR通过提供一系列的工具和API,帮助开发者实现客户端与服务器端的异步通信。这包括了自动化的JavaScript生成、远程方法调用等功能。 **1.2 第一个DWR程序:HelloWorld** - **...

    dwr购物车 java学习资料

    【描述】中提到的"入门的好资料"意味着这个压缩包可能包含初级到中级的教程、示例代码以及配置文档,适合初学者了解和掌握DWR的基础和进阶用法。"web.xml"和"dwr.xml"是两个关键的配置文件,它们在DWR集成到Web应用...

    Practical DWR 2 Projects

    10. **最佳实践与进阶话题**:分享DWR的最佳实践,以及更高级的主题,如自定义转换器、过滤器和扩展DWR功能。 此外,压缩包中的“使用说明.txt”可能是对书中某些内容的补充说明或快速入门指南,帮助读者更好地理解...

    DWR中文文档.pdf

    #### 一、DWR入门 **1.1 简介** DWR(Direct Web Remoting)是一种简化Ajax应用程序开发的技术。它通过提供一种简单的方式来调用服务器端的Java方法,从而使得客户端的JavaScript代码可以直接操作服务器端的Java...

    dwr中文文档

    #### 二、DWR入门 ##### 2.1 简介 - **DWR** 是一种基于Ajax的开源框架,用于简化Ajax编程过程。 - DWR通过提供一系列工具和服务,使JavaScript能够直接调用服务器端的Java方法,极大地提高了开发效率。 - 开发者...

    程序员从初级到高级知识汇集

    【程序员从初级到高级知识汇集】是一本涵盖了程序员从入门到精通所需掌握的全面知识的资料集合。本书针对初级和高级程序员,旨在提供一个系统化的学习路径,帮助程序员提升技能,成为行业专家。 1. **Java知识** -...

    java学习路线图

    Java学习路线图:从入门到精通的全面指南 在IT行业,Java作为一门经典且广泛应用的编程语言,其学习路径不仅对于初学者至关重要,对于希望深入发展的开发者同样关键。本篇将围绕“Java学习路线图”这一核心主题,...

    EXT教程EXT用大量的实例演示Ext实例

    Ext教程为使用Ext JS框架的开发者提供了大量实例和详细的说明,涵盖了从基本入门到进阶使用,再到解决遇到的问题,是一份非常实用的参考资料。通过这些实例,开发者可以快速掌握Ext JS的使用,并能高效地应用于实际...

    java框架系列

    在这些文档和资料中,你可以找到关于SSH(Struts、Spring、Hibernate)以及Spring框架的丰富知识,这些都是Java Web开发中的核心框架。 1. SSH面试.doc:这份文档可能包含了SSH框架在面试中常被问到的问题,包括...

    Ajax.基础教程资料

    - **入门书-Ajax技术手册**:适合初学者,详细介绍Ajax的基本概念和技术要点。 - **进阶书-Ajax实战手册**:深入探讨Ajax的应用场景和最佳实践。 - **参考书-Ajax骇客八十招**:提供了大量的技巧和示例,帮助开发者...

Global site tag (gtag.js) - Google Analytics