在使用dwr时,根据id获取一个pojo对象,在页面js中得到的是一个被转换的js对象,很方便使用。可是这个返回值只能在dwr回调函数里面使用,再把此返回值赋值给其他变量也会有问题。后来经过一番摸索,发现可以这样实现:
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/interface/bizBeanForDwr.js"></script>
……
<SCRIPT LANGUAGE="JavaScript">
var dwrCriterion;
//设置成同步
DWREngine.setAsync(false);
bizBeanForDwr.getJsCriterion("8a88881a1df69e6c011df6cbcfcc006b",function(cb){dwrCriterion=cb;});
//重新设置为异步方式
DWREngine.setAsync(true);
alert(dwrCriterion.status);
</SCRIPT>
将请求dwr设置成同步方式就可以进行赋值,赋值后,可以再设置成异步。
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/interface/bizBeanForDwr.js"></script>
……
<SCRIPT LANGUAGE="JavaScript">
var dwrCriterion;
//设置成同步
DWREngine.setAsync(false);
bizBeanForDwr.getJsCriterion("8a88881a1df69e6c011df6cbcfcc006b",function(cb){dwrCriterion=cb;});
//重新设置为异步方式
DWREngine.setAsync(true);
alert(dwrCriterion.status);
</SCRIPT>
将请求dwr设置成同步方式就可以进行赋值,赋值后,可以再设置成异步。
本文介绍了一种在使用DWR框架时通过设置同步模式来解决返回POJO对象赋值问题的方法。通过调整DWREngine的同步状态,可以在DWR回调函数外正常使用返回的数据。
4226

被折叠的 条评论
为什么被折叠?



