DWR传递bean参数并返回Map以及异常处理SimpleCode

2 篇文章 0 订阅
1 篇文章 0 订阅
公司有个老项目使用了DWR框架技术,配置文件内容很多,抽出代表性的知识点给大家参考,也给自己做个笔记。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>dwrtest</display-name>  

	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

dwr.xml

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.directwebremoting.org/dwr/dwr20.dtd">

<dwr>
	<allow>
		<create creator="new" javascript="DwrTestBean">
			<param name="class" value="testbean.DwrTestBean"></param>
			<include method="myMethod1" />
		</create>

		<convert converter="exception" match="java.lang.Exception">
			<param name="include" value="message" />
		</convert>
		<convert converter="bean" match="pojo.OrderBean"></convert>
	</allow>

	<signatures>
		<![CDATA[
		import java.util.Map;
		import pojo.OrderBean;
		
       	Map<String,Object> DwrTestBean.myMethod1(OrderBean orderBean);
       ]]>
	</signatures>
</dwr>


调用的java class method

package testbean;

import java.util.HashMap;
import java.util.Map;

import pojo.OrderBean;

public class DwrTestBean {
	public Map<String, Object> myMethod1(OrderBean orderBean) throws Exception{
		try {
			System.out.println(orderBean);//打印出来页面的传过来的信息则成功把页面的信息传到后台。
			//int i = 1 / 0;//会报异常
			return new HashMap<String, Object>() {
				/**
			 * 
			 */
				private static final long serialVersionUID = 3043066466825780101L;

				{
					put("successKey", "success!!");
				}
			};
		} catch (Exception e) {
			throw new Exception("failed!!");
		}
	}
}

参数的class

package pojo;

public class OrderBean {
	private String id;
	private String orderCd;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getOrderCd() {
		return orderCd;
	}

	public void setOrderCd(String orderCd) {
		this.orderCd = orderCd;
	}

	@Override
	public String toString() {
		return "OrderBean---------> [id=" + id + ", orderCd=" + orderCd + "]";
	}

}

前端文件index.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/DwrTestBean.js"></script>
</head>

<script type="text/javascript">
	function call() {
		var orderBean = {
			id : "1",
			orderCd : "20160320001W"
		};
		DwrTestBean.myMethod1(orderBean, {
			errorHandler : function(message) {
			alert(message);
			},
			callback : function(data) {
				for ( var p in data) {
					alert(data[p]);
					//alert(data["successKey"]);//或者直接获取某个key的value
				}
			}
		});
	}
</script>
<body>
	<input type="button" id="testBtn" οnclick="call()" value="submit"></input>
</body>
</html>
写的不好,有问题或者错误的地方请多多包涵~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值