dwr.xml
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <!-- convert converter = "bean" match = "developerworks.ajax.bean.Apartment" --> <create creator = "new" javascript = "ListName"> <param name="class" value= "developerworks.ajax.dao.ListName" /> <!-- include method = "findStr" /> <include method = "findCity" /> <include method = "findUser" /> <include method = "findList" /> <include method = "findByname" /> <include method = "strfindList" /> <include method = "strfindMap" /--> </create> <convert converter="bean" match="developerworks.ajax.bean.User"> <param name="include" value="name,age" /> </convert> </allow> </dwr>
test.js
function calllist(){ var t=$("hd").value; if(t=="无参无返回值"){ ListName.findStr(callBackListName); }else if(t=="有简单返回值"){ ListName.findCity(callBackListName2); }else if(t=="有简单参数"){ var t="abc"; ListName.findByname(t,callBackListName3); }else if(t=="返回javabean"){ ListName.findUser(callBackListName4); }else if(t=="返回List"){ ListName.findList(callBackListName5); }else if(t=="有参并返回List"){ var str="hello"; ListName.strfindList(str,callBackListName6); }else if(t=="返回Map"){ ListName.strfindMap(callBackListName7); }else{ alert("没有匹配"); } } function callBackListName(data){ alert("无参无返回值"); } //有简单返回值 function callBackListName2(data){ alert("有简单返回值:"+data); } //有简单参数 function callBackListName3(data){ alert("有简单参数:"+data); } //返回javabean function callBackListName4(data){ alert("返回javabean:/n"+data.name+data.age); } //返回List function callBackListName5(data){ alert("返回List:/n"); var sb=""; for(var i=0;i<data.length;i++){ sb=sb+data[i].name+"+"+data[i].age+"/n"; } alert(sb); } //有参并返回List function callBackListName6(data){ alert(data.length); var sb=""; sb=sb+data[0]+"/n"; for(var i=1;i<data.length;i++){ sb=sb+data[i].name+"+"+data[i].age+"/n"; } alert(sb); } //有参并返回Map function callBackListName7(data){ alert("callBackListName7"); var sb=""; //sb=sb+data[0]+"/n"; for(var pro in data){ var bean=data[pro]; sb=sb+bean.name+"+"+bean.age+"/n"; } alert(sb); }
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>developerWorks - Ajax with DWR</title> <link rel="stylesheet" type="text/css" href="style.css" mce_href="style.css" media="screen"/> <mce:script type='text/javascript' src="dwr/interface/ListName.js" mce_src="dwr/interface/ListName.js"></mce:script> <mce:script type='text/javascript' src="dwr/engine.js" mce_src="dwr/engine.js"></mce:script> <mce:script type='text/javascript' src="dwr/util.js" mce_src="dwr/util.js"></mce:script> <mce:script type='text/javascript' src="test.js" mce_src="test.js"></mce:script> <mce:script type="text/javascript"><!-- function getvalue(object){ var m=object.options[object.selectedIndex].text document.searchform.hd.value=m; } // --></mce:script> </head> <body> <h1>Ajax DWR</h1> <form id="searchform" name="searchform"> <br/> <select id="selectA" onchange="getvalue(this)"> <option>无参无返回值</option> <option>有简单返回值</option> <option>有简单参数</option> <option>返回javabean</option> <option>返回List</option> <option>有参并返回List</option> <option>返回Map</option> </select> <input type="text" id="hd" name="hd" /><br/> <input type="button" id="searchbox" value="提交" onclick="calllist()" /> </form> </html>
处理类ListName.java
package developerworks.ajax.dao; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import developerworks.ajax.bean.User; public class ListName { public ListName() { super(); } public String findStr(){ return "��»�"; } public String findCity(){ return "Beijing"; } public User findUser(){ User user=new User("刘德华",50); return user; } //返回List public List findList(){ ArrayList list=new ArrayList(); User user1=new User("刘德华",50); User user2=new User("张学友",40); User user3=new User("成龙",80); list.add(user1); list.add(user2); list.add(user3); /*list.add("y1"); list.add("y2"); list.add("y3");*/ return list; } //有参数并返回List public List strfindList(String test){ System.out.println(test); ArrayList list=new ArrayList(); User user1=new User("刘德华",50); User user2=new User("张学友",40); User user3=new User("成龙",80); list.add(test); list.add(user1); list.add(user2); list.add(user3); return list; } //有参数并返回List public Map strfindMap(){ Map map=new HashMap(); User user1=new User("刘德华",50); User user2=new User("张学友",40); User user3=new User("成龙",80); map.put("user1", user1); map.put("user2", user2); map.put("user3", user3); return map; } public String findByname(String name){ System.out.println(name); return name+"helloworld"; } }
实体类 User.java
package developerworks.ajax.bean; public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public User(String name, int age) { super(); this.name = name; this.age = age; } }