dwr 详解

上一篇博客已经解说了dwr的配置,现在讲使用

java类

package com.zf.test;

import java.util.Date;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import com.zf.vo.Users;


public class Test {

	//返回map对象   map对象内为简单数据类型String
	public List<String> getStringmap(){
		List<String> list = new Vector<String>();
		list.add("张三");
		list.add("李四");
		list.add("王五");
		return list;
	}

	//返回map对象,map对象内为Users对象
	public List<Users> getUsermap(){
		List<Users> list = new Vector<Users>();
		list.add(new Users("张三" , "zhangsan" , new Date()));
		list.add(new Users("李四" , "lisi" , new Date()));
		list.add(new Users("王五" , "wangwu" , new Date()));
		list.add(new Users("赵六" , "zhaoliu" , new Date()));
		return list;
	}

	//返回map对象
	public Map<Integer , Users> getUserMap(){
		Map<Integer , Users> map = new Hashtable<Integer, Users>();
		map.put(1 , new Users("张三" , "zhangsan" , new Date()));
		map.put(2, new Users("李四" , "lisi" , new Date()));
		map.put(3 ,new Users("王五" , "wangwu" , new Date()));
		map.put(4 , new Users("赵六" , "zhaoliu" , new Date()));
		return map;
	}

	//带list<String> 参数的方法  
	public String inList(List<String> list){
		for (String string : list) {
			System.out.println(string);
		}
		return "ok";
	}

	//带list<Users>参数的方法
	public String initListUser(List<Users> userLIst){
		for (Users users : userLIst) {
			System.out.println(users.getUsername());
			System.out.println(users.getPassword());
			System.out.println(users.getBirthday());
			System.out.println();
		}
		return "ok";
	} 

	//带Map<String , User>参数的方法
	public String initMapUser(Map<String , Users> users){
		for (Map.Entry<String, Users> user : users.entrySet()) {
			System.out.println("key:" + user.getKey());
			Users u = user.getValue();
			System.out.println(u.getUsername());
			System.out.println(u.getPassword());
			System.out.println(u.getBirthday());
			System.out.println();
		}	
		return "ok";
	}

}

dwr.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
    "http://getahead.org/dwr/dwr30.dtd">
  <dwr>
  		<allow>
  			<create creator="new" javascript="JDate">
  				<param name="class">java.util.Date</param>
  			</create>
			<create creator="new" javascript="test">
				<param name="class">com.zf.test.Test</param>
			</create>  			
  			<convert match="com.zf.vo.Users" converter="bean"></convert>
  		</allow>
  		
  		
		<!--下面配置的是方法的参数类型 -->  
  		<signatures>
  			<![CDATA[
				import java.util.List;
				import com.zf.vo.Users;
				import java.lang.String;
				Test.inList(List<String>);
			]]>
			<![CDATA[
				import java.util.List;
				import com.zf.vo.Users; 
				Test.initListUser(List<Users>); 
			]]>
			<![CDATA[
				import java.util.Map;
				import java.lang.String;
				import com.zf.vo.Users;
				Test.initMapUser(Map<String , Users>); 
			]]>
  		</signatures>
  		
  </dwr>


index.jsp


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!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=utf-8">
<title>Insert title here</title>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/interface/Person.js"></script>
<script type="text/javascript" src="dwr/interface/UserControl.js"></script>
<script type="text/javascript" src="dwr/interface/test.js"></script>
<script type="text/javascript">

	function hello(){
		Person.sayHello('is_zhoufeng' , function(msg){
			document.getElementById("message").innerHTML = msg ;
		});
	}
	
	function sort(){
		Person.sort("fda","fda" , "gfds","afd" , "bcda" , function(msg){
			document.getElementById("message").innerHTML = msg ;
		}); 
	}
	
	function userControl(){
		UserControl.getUser('is_zhoufeng' , 'nishiwodewei1' , 
		function(data){
				var message = "";
				for(var d in data){
					message += data[d] + "  " ;
				}
				document.getElementById("message").innerHTML = message ;
		});  
	}  
	
	function listString(){
		test.getStringList(function(data){
			var message = "";
			for(var i = 0 ; i < data.length ; i++)
				message += data[i] + "   ";
			document.getElementById("message").innerHTML = message;
		});  
	} 
	
	function listUser(){
		test.getUserList(function(data){
			var message = "";
			for(var i = 0 ; i < data.length ; i++){
				 var user = data[i];
				 message += "姓名:" + user.username + "<br/>";
				 message += "密码:" + user.password + "<br/>";
				 message += "生日:" + user.birthday.toLocaleString() + "<br/>";
				 message += "<br/><hr/>";
			}   
			document.getElementById("message").innerHTML = message;
		});
	}
	
	function mapUser(){
		test.getUserMap(function(data){
			var message = "";  
			for(var key in data){
				var user = data[key];
				message += "key:" + key + " , value:" + user.username + "     " + user.password;
				message += "<br/><hr/>";  
			}  
			document.getElementById("message").innerHTML = message;
		});		
	}
	
	function inListString(){  
		var param = ['a' , 'b' , 'c'];
		test.inList(param , function(data){
			document.getElementById("message").innerHTML = data;
		});
	}  
	
	function inListUser(){
		var param = [
		       {username:"张三" , "password":"zhangsan" , birthday: new Date() }
		      ,{username:"李四" , "password":"lisi" , birthday: new Date() }
		             ];
		test.initListUser(param , function(data){
			document.getElementById("message").innerHTML = data;
		});
	}    
	
	function initMapUser(){
		var param = {
		       "zhangsan":
		      {username:"张三" , "password":"zhangsan" , birthday: new Date() }
		      ,  "list":
		      {username:"李四" , "password":"lisi" , birthday: new Date()  }
		      ,  "wangwu":
		      {username:"王五" , "password":"wangwu" , birthday: new Date()}  
		      };
		test.initMapUser(param , function(data){
			document.getElementById("message").innerHTML = data;
		});
	}
	
</script> 
</head>  
<body>
	index.jsp
	<br/> 
	<input type="button" value="hello" οnclick="hello()" />
	<br/>
	<input type="button" value="排序" οnclick="sort()"/>
	<br/>
	<input type="button" value="user" οnclick="userControl()"/>
	<br/>
	<input type="button" value="返回List-String()" οnclick="listString()"/>
	<br/>
	
	<input type="button" value="返回List-User()" οnclick="listUser()"/>
	<br/>
	
	<input type="button" value="返回Map-User()" οnclick="mapUser()"/>
	<br/>
	
	<input type="button" value="传参List-String()" οnclick="inListString()"/>
	<br/>
	
	<input type="button" value="传参List-User()" οnclick="inListUser()"/>
	<br/>
	
	<input type="button" value="传参Map-User()" οnclick="initMapUser()"/>
	<br/>
	
	
	<div id="message" style="border: 1px solid red; min-height: 300px; padding: 5px;">
	     
	</div>
</body>
</html>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值