首先,要在java类中声明方法,如下:
package xhsoft.douding.admin.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.springframework.stereotype.Controller;
@RemoteProxy
public class Hello
{
@RemoteMethod
public void noReturn()
{
System.out.println("no return");
}
@RemoteMethod
public String simpleReturn(String param)
{
System.out.println("simple return with param = " + param);
return "Hello " + param;
}
/**
* 返回数组Array
*/
@RemoteMethod
public String[] getStrArray()
{
return new String[]{"one", "two", "three", "go!"};
}
/**
* 返回集合List
*/
@RemoteMethod
public List getList()
{
List list = new ArrayList();
list.add("welcome");
list.add("to");
list.add("BeiJing");
return list;
}
/**
* 返回Map类型
*/
@RemoteMethod
public Map getMap()
{
Map map = new HashMap();
map.put("name", "周星星");
map.put("hobby", "逃课");
return map;
}
/**
* 返回二维数组类型
*/
@RemoteMethod
public List getArrayList()
{
List list = new ArrayList();
list.add(new String[]{"1", "2", "3"});
list.add(new String[]{"one", "two", "three", "four", "five"});
return list;
}
/**
* Exception处理
*/
@RemoteMethod
public List getListTest(List list)
{
try
{
list.get(0);
}
catch (Exception e)
{
throw new NullPointerException("数据位空");
}
return list;
}
}
<%@page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/interface/hello.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script>
hello.noReturn();
hello.simpleReturn("张三", function(value) {
console.log("simpleReturn=" + value);
});
hello.getStrArray(function(value) {
var str = "";
for (var i = 0; i < value.length; i++) {
str += value[i] + " ";
}
console.log("getStrArray=" + str);
});
hello.getList(function(list) {
var str = "";
for (var i = 0; i < list.length; i++) {
str += list[i] + " ";
}
console.log("getList=" + str);
})
hello.getMap(function(map) {
for ( var key in map) {
console.log("getMap= " + key + ":" + map[key]);
}
})
hello.getArrayList(function(arrayList) {
var str = "";
for (var i = 0; i < arrayList.length; i++) {
for (var j = 0; j < arrayList[i].length; j++) {
str += arrayList[i][j];
}
str += "\n\r";
}
console.log("getArrayList=" + str);
});
</script>
</head>
<body>
<h1 οnclick="test();">Hello World!</h1>
</body>
</html>