上一篇博客已经解说了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>
<%@ 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>