//————
function sendMessage(){
//獲取頁面中name元素的值
var name = document
//調用遠程方法
hello
function cb(data){
document
}
//———–發送一個JavaBean對象作為參數
function sendObject(){
var nameValue = (
//調用遠程方法
hello
}
//—————
function getBean(){ var name = document
//調用遠程方法
hello
}
function beanCb(data){
//服務器方法返回JavaBean對象
document
}
//—————
function getObject(){ var name = document
//調用遠程方法
hello
}
function objCb(data){
//服務器方法返回非JavaBean式的對象
document
}
//—————調用返回集合的方法————–
function getBeanList(){
//調用遠程方法
hello
}
//遠程Java方法返回List對象
//此處的data是JavaScript對象數組
function listCb(data){
var result=
//遍歷每個數組元素
for (var i =
result += data[i]
}
document
}
//—————調用返回數組的方法————–
function getBeanArray(){ hello
}
function arrayCb(data){
var result =
//下面的data是遠程Java方法的返回值
//data是個數組
for (var i =
//依次訪問數組元素
result += data[i]
}
document
}
//—————調用返回Map對象的方法————
function getBeanMap(){
hello
}
//遠程Java方法返回Map對象
//此處的data是JavaScript對象
function mapCb(data){
var result=
for (var key in data) {
result +=
}
document
}
//—————調用發送集合的方法——————
function sendBeanList(){
//創建JavaScript數組
var args = [ {name:
//Java方法需要List參數
hello
}
function sendListCb(data){
document
}
//—————調用發送無泛型限制的集合——————–
function sendBeanListNoGeneric(){
//創建JavaScript數組
var args = [ {name:
//Java方法需要List參數
hello
}
//—————調用發送Map的方法————————
function sendBeanMap(){
//創建JavaScript對象
var args = { first:{name:
};
//Java方法需要Map參數
hello
}
function sendMapCb(data){
document
}
web
<?xml version=
<web
<!– 指定DWR核心Servlet的名字 –>
<servlet
<!– 指定DWR核心Servlet的實現類 –>
<servlet
<!– 指定DWR核心Servlet處於調試狀態 –>
<init
<!– 指定核心Servlet的URL映射 –>
<servlet
<!– 指定核心Servlet映射的URL –>
<url
客戶端處理類
package com
import java
import java
import java
import java
public class HelloDwr {
// 第一個簡單的hello方法
public String hello(String name) {
return name +
}
// 使用一個JavaBean作為參數的方法
public String sendObj(Person p) {
return p
}
// 返回JavaBean實例的方法
public Person getBean(String name) {
return new Person(name);
}
// 返回一個普通的Java對象
public Cat getObject(String name) {
return new Cat(
}
// 返回一個集合對象
public List<Person> getPersonList() {
List<Person> result = new ArrayList<Person>();
result
result
result
return result;
}
// 返回一個數組對象
public Person[] getPersonArray() {
Person[] result = new Person[
result[
result[
result[
return result;
}
// 返回一個Map對象
public Map<String
// 創建一個Map對象
Map<String
// 填充Map對象的內容
result
result
result
// 返回Map
return result;
}
// 遠程方法的參數是集合
public String sendList(List<Person> pl) {
String result =
for (Person p : pl) {
result += p
}
return result;
}
// 遠程方法的參數是不帶泛型的集合
public String sendListNoGeneric(List pl) {
String result =
for (Object p : pl) {
result += ((Person) p)
}
return result;
}
// 遠程方法的參數是集合
public String sendMap(Map<String
String result =
for (String key : pmap
result +=
}
return result;
}
}
Person類
package com
public class Person{
//私有屬性
private String name;
public Person() {}
//構造器
public Person(String name) {
this
}
//name屬性的setter方法
public void setName(String name) {
this
}
//name屬性的getter方法
public String getName() {
return name;
}
}
Cat類
package com
public class Cat {
//Cat類的私有屬性
private String name;
//構造器
public Cat(String name) {
this
}
}
dwr
<?xml version=
<!– 指定DWR配置文件的DTD等信息 –>
<!DOCTYPE dwr PUBLIC
<!– 使用new關鍵資創建一個Java實例 指定創建的JavaScript對象名為hello–>
<create creator=
<!– 使用class屬性指定創建該Java實例的實現類 –>
<param name=
<!– 對lee
<convert converter=
<!– 對lee
<convert converter=
<!– 指定force=
<![CDATA[ import java
客戶端html代碼
<!DOCTYPE html PUBLIC
<html xmlns=
<head>
<title>DWR入門</title>
<meta name=
<meta http
<!– 導入DWR為hello對象動態生成的JavaScript代碼庫 –>
<script type=
<!– 導入DWR引擎的核心JavaScript代碼庫 –>
<script type=
<!– 導入開發者為本應用編寫的JavaScript代碼庫 –>
<script type=
</head>
<body>
<h
請輸入您的名字
<input id=
<input type=
<input type=
<input type=
<input type=
<input type=
<input type=
<input type=
<input type=
<input type=
<input type=
<hr />
下面是服務器的回應: <br />
<div id=
</body>
</html>
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25649.html