程序员刘杨

———没有写不出的程序,只有不努力的程序员。

2010年04月23日   码农之路   6,384 次浏览

祝大家新年快乐,有任何问题可与我联系:点击这里给我发消息

DWR最大的好处就是可以直接从页面调用后台的方法,用起来直接方便。但是一般我们只是传简单的字符串,那么怎样通过DWR来传数组或表了。

下面我将通过具体例子来讲解:
1、首先是DWR的配置文件java2Script.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
    <allow>
        <create creator="spring" javascript="rmiHandleService">
           <param name="beanName" value="rmiHandleService"/>
        </create>
    </allow>
 
   <signatures>
     <![CDATA[
     import java.util.Map;
     import java.util.List;
     import javax.servlet.http.HttpSession;
     rmiHandleService.getReturnMessageBodyForList(Map<String,String>,List<Map>);
     ]]>
   </signatures>
</dwr>

这个文件会DWR的都看得懂,最主要的就是16行的函数签名,说明这个函数传参的类型。

2、再就是页面上的JS代码了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    function onSaveFuncList() {
        // json用来保存需要传的一般参数
        var json = {
    	FUNCGROUPID:clickAppId,
    	mainRmiId:'020406',
	MID:'0204'
        };
        var arr = new Array();  // 用来保存需要传给后台的数组
        var itemselector=$("itemselector");
        if(!Ext.isEmpty(itemselector.getValue())) {
             var id = itemselector.getValue().split(',');
             for(var i = 0; i < id.length; i++) {
                 // 将数据按键值对保存到数组中
	    arr.push({FUNCGROUPID:clickAppId,FUNCID:id[i]});
	}
        }
 
        // 通过DWR调用后台方法
        rmiHandleService.getReturnMessageBodyForList(json, arr, function(obj) {
	if(obj.RETURNRCODE == '000000') {
	    Ext.topShow.msg('修改成功:', '已保存到数据库.');
	} else {
	    Ext.MessageBox.alert("提示:", "操作失败!");
	}
        });
    }

通过上面我们可以看到,用这个DWR实现了传MAP和LIST。

赞 赏
申明:除非注明,本站文章均为原创,转载请以链接形式标明本文地址。 如有问题,请于一周内与本站联系,本站将在第一时间对相关内容进行处理。
本文地址: http://www.yyjjssnn.cn/articles/419.html
相关阅读: DWR

>>> Hello World <<<

这篇内容是否帮助到你了呢?

如果你有任何疑问或有建议留给其他朋友,都可以给我留言。

:wink: :twisted: :surprised: :smile: :smile9: :smile8: :smile7: :smile6: :smile5: :smile56: :smile55: :smile54: :smile53: :smile52: :smile51: :smile50: :smile4: :smile49: :smile48: :smile47: :smile46: :smile45: :smile44: :smile43: :smile42: :smile41: :smile40: :smile3: :smile39: :smile38: :smile37: :smile36: :smile35: :smile34: :smile33: :smile32: :smile31: :smile30: :smile2: :smile29: :smile28: :smile27: :smile26: :smile25: :smile24: :smile23: :smile22: :smile21: :smile20: :smile1: :smile19: :smile18: :smile17: :smile16: :smile15: :smile14: :smile13: :smile12: :smile11: :smile10: :smile0: :sad: :rolleyes1: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow:

友情链接: 程序员刘杨 刘杨
Copyright 2003~2018 保留所有权利 | 网站地图
备案号:湘ICP备14001005号-2

湘公网安备 43011102001322号