论坛首页 Java企业应用论坛

Seam Direct JavaScript Integration能否采用同步方式

浏览 2119 次
精华帖 (0) :: 良好帖 (10) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-10  
我用过DWR,可以这样进行同步方式调用:

		
var modules;
SysFacade.getModules(Divo.getUserId(), {
			callback : function(retValue) {
				modules = retValue;
			},
			async : false
		});


能否在Seam Direct JavaScript Integration中进行类似的同步调用?
   发表时间:2007-11-12  
看来用JBoss Seam和它的Remoting功能的人好像不多.

经过2天的努力, 决定修改jboss-seam-remoting.jar中的
remote.js, 使其支持同步远程调用功能.

修改前:
 asyncReq.open("POST", Seam.Remoting.resourcePath + path, true);



修改后:
 asyncReq.open("POST", Seam.Remoting.resourcePath + path, Seam.Remoting.async);


用法举例:
	// 远程调用(兼容DWR和JBossSeam)
	function rmtCall(method, callback, params, isAsync) {
		var s = method.split('.');
		var callParams = [];
		if (params) {
			for (i = 0;i < params.length; i++) {
				callParams.push(params[i]);
			}
		}
		if (Seam.serverSide) {
			callParams.push(callback);
			var obj = Seam.Component.newInstance(s[0]);
			Seam.Remoting.async = isAsync;
			eval('obj.' + s[1] + '.apply(obj, callParams)');
		} else {
			callParams.push( {
				callback : callback,
				async : isAsync
			});
			eval(method + '.apply(' + s[0] + ', callParams)');
		}
	}

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics