DWR3+SPRING+HIBERNATE的有返回值的融合

首先,要在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>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值