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

Dwr入门知识进阶二

    博客分类:
  • DWR
阅读更多
1、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

2、Java组件的编写和发布以及客户端引用
1)Java组件必须是一个具体类(因为接口、抽象类反射机制无法实例化)
2)实体类必须遵循Java Bean规范即实现Getter和Setter
3)配置文件中Allow部分的Create元素的JavaScript属性的值要唯一
4)如果存在Java Bean需要转换则要配置Allow部分的Convert元素
5)客户端引用业务组件要以dwr/interface/xxx.js的路径引用JS文件
3、典型调用示例和回调函数
在进阶一中我们已经熟悉了简单字符串示例,下面我们来看数组集合类型的示例程序:
JavaBean的源代码:
public String[] testArray(){
		return new String[]{"世界","你好"};
	}
	
	public String[][] testArray2(){
		return new String[][]{
			new String[]{"A1","A2"},
			new String[]{"B1","B2","B3"}
		};
	}
	
	public List testList(int size){
		List list = new ArrayList(size);
		for(int i=0; i<size; i++){
			list.add("someDAta"+i);
		}
		return list;
	}
	
	public List testList2(){
		List list = new ArrayList();
		for(int i=0; i<3; i++){
			String[] ss = new String[]{"A"+i,"B"+i,"C"+i};
			list.add(ss);
		}
		return list;
	}
	
	public Map testMap(){
		Map map = new HashMap();
		map.put("key1", "世界");
		map.put("key2", "你好");
		return map;
	}

dwr.xml文件添加代码
   
<create creator="new" javascript="test2">
      <param name="class" value="com.dwr.Test2"/>
    </create>

jsp页面javascript代码:
<%@ 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/test2.js"></script>
<script type="text/javascript">
function testArray(){
	test2.testArray(
		function(data){
			alert("一维数组的长度是:"+data.length);
			for(var i=0; i<data.length; i++){
				alert(data[i]);
			}
		}
	);
}
function testList(){
	test2.testList(
		5,
		function(data){
			alert("List的长度是:"+data.length);
			for(var i=0; i<data.length; i++){
				alert(data[i]);
			}
		}
	);
}
function testArray2(){
	test2.testArray2(
		function(data){
			alert("二维数组的长度是:"+data.length);
			for(var i=0; i<data.length; i++){
				for(var j=0; j<data[i].length; j++){
					alert(data[i][j]);
				}
			}
		}
	);
}
function testList2(){
	test2.testList2(
		function(data){
			alert("List的长度是:"+data.length);
			for(var i=0; i<data.length; i++){
				for(var j=0; j<data[i].length; j++){
					alert(data[i][j]);
				}
			}
		}
	);
}
function testMap01(){
	test2.testMap(
		function(data){
			alert(data.key1);
			alert(data["key2"]);
		}
	);
}

function testMap02(){
	test2.testMap(
		function(data){
			for(var p in data){
				alert("key="+p+",value="+data[p]);
			}
		}
	);
}

</script>
</head>
<body>
<a href="#" onclick="testArray()">Test2.testArray</a>
<a href="#" onclick="testList()">Test2.testList</a>
<a href="#" onclick="testArray2()">Test2.testArray2</a>
<a href="#" onclick="testList2()">Test2.testList2</a>
<a href="#" onclick="testMap01()">Test2.testMap - 获取对应key的值</a>
<a href="#" onclick="testMap02()">Test2.testMap - 循环获取一个Map中的key和value</a>
</body>
</html>
分享到:
评论

相关推荐

    DWR入门资料

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

    Practical DWR 2 Projects

    《Practical DWR 2 Projects》是一本关于Direct Web Remoting (DWR)技术实践的书籍,对于深入了解和掌握DWR具有很高的参考价值。DWR是一种JavaScript和Java之间的开源通信库,它允许Web应用程序实现双向实时通信,...

    dwr购物车 java学习资料

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

    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框架系列

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

    java学习路线图

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

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

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

    Ajax.基础教程资料

    #### 二、核心知识点 **2.1 非同步发送原理** 非同步发送是指在发送请求时不会阻塞浏览器,即用户仍然可以继续使用页面,而请求则在后台处理。实现这一点的关键是利用`XMLHttpRequest`对象的`send()`方法,配合`...

Global site tag (gtag.js) - Google Analytics