使用场景:
在报表展现时,需要计算处理数据,由于处理数据时间比较长,而显示报表的框架(不带数据)时间很快,因此采用报表展现和报表计算采用多线程方式来处理,即在报表展现
之前,启动报表计算线程进行计算,同时报表展现继续,报表计算线程将计算完毕的数据存放到一个指定内存区域。
报表展现完成后,从页面通过DWR去访问指定的内存区域,将已计算完毕的数据取出,替代相应的位置。
以下将相关页面代码:
//触发页面监听服务器的JavaScript代码:
var isStop=false;//状态量,如果已经从服务器取完数据,则停止监听服务器。
function fireData(){
var arry= document.getElementsByTagName("div");
var i=1;
var to=null;
while(i <=arry.length){
if(isStop){
break;
}else{
to=setInterval("replacejs()",i*1000);
}
i++;
}
clearInterval(to);
}
//处理替换数据的JavaScript代码
function replacejs(){
if(isStop){
return;
}
arry= document.getElementsByTagName("div");
var size=0;
for(i=0; i <arry.length;i++){
if(arry[i].title=="no"){//通过数据DIV的title来识别该div是否已经被替换过
size++;
getuserById(arry[i].id);//采用DWR实现的异步方法
}
}
if(size==0){
isStop=true;
}
}
//DWR实现的异步访问方法
function getuserById(id) {
var uid = id ;
if(uid.indexOf("汇总得分")!=-1){
var group=$('conGroup').value;
uid=uid.replace(/汇总得分/,group+".汇总得分");
}
//DWR部分
reportcell.getDWRV(uid,{callback:function(msg){
if(msg){
replacediv(id,msg);//替代页面的函数,实现替代报表数据
}
}});
}
在报表展现的数据计算很快的情况下,不会出现“Failed to read input”的错误,在数据计算比较慢的情况下,先是不断的弹出对话框提示“Failed to read input”,然后再提示“无法连接目标服务器”的对话框。
非常郁闷,DWR身为最好的AJAX服务端框架,不会这么不稳定吧!
请大家多多帮忙,再次先行拜谢!
分享到:
相关推荐
使用DWR弹出failed to read input等错误框,修改DWR源码后可以避免。本次上传的资源供大家参考,如果在使用中遇到任何问题,欢迎大家及时交流,希望对大家能有所帮助
修改过的failed to read input错误的dwr包,只需要将此包替换工程里面的dwr即可解决该错误信息,免去很多麻烦
DWR(Direct Web Remoting)是一种Java技术,用于在Web应用程序中实现实时的、无需刷新页面的异步客户端和服务器端通信。它允许JavaScript在浏览器端直接调用服务器端的Java方法,使得Web应用可以像桌面应用一样具有...
DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现客户端和服务器之间的异步JavaScript通信。它使得Web开发者能够直接调用服务器端的Java方法,就像它们是本地JavaScript函数一样,大大简化了AJAX...
DWR (Direct Web Remoting) 是一种用于Java Web应用程序的开源框架,它允许在客户端JavaScript和服务器端Java之间进行实时的、异步的数据交换。DWR使得开发者可以轻松地利用AJAX(Asynchronous JavaScript and XML)...
**DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web应用程序与服务器进行异步交互,实现Ajax功能。在本“DWR与后台异步交互简单例子”中,我们将探讨如何利用DWR来实现前后端的数据通信,提高用户体验。 ...
Direct Web Remoting ...总结,DWR作为一个强大的工具,极大地简化了Web应用的开发,尤其是对于需要频繁交互的实时应用场景。然而,正确配置和使用DWR,以及处理好跨域安全问题,是每个开发者必须面对和解决的挑战。
5. **使用DWR API**: DWR提供了一套JavaScript库,包括`DWREngine`、`RemoteObject`等类,用于在JavaScript中调用Java方法、处理异步回调、错误处理等。 6. **Ajax集成**: DWR与Ajax技术紧密结合,通过异步请求实现...
**DWR(Direct Web Remoting)集合Spring实现异步提交** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、双向通信,从而实现异步数据交换。结合Spring框架,...
DWR (Direct Web Remoting) 是一个开源Java库,它允许Web应用程序在客户端浏览器和服务器之间进行实时的、异步的通信,无需使用XMLHttpRequest或IFrame。在本实例中,我们将探讨DWR的基本概念、如何设置以及创建一个...
2. **异步调用**:理解DWR的异步调用机制,如回调函数和错误处理。 3. **批量调用**:DWR支持批量调用多个方法,减少网络传输。 五、DWR的安全性 1. **白名单配置**:通过dwr.xml配置文件设置允许调用的类和方法,...
7. **批量调用与异步调用**:DWR支持批量执行多个服务器调用,并且可以异步执行这些调用,使得用户界面不会因为等待服务器响应而冻结。 对于初学者来说,建立一个简单的DWR实例通常包括以下步骤: 1. **安装与引入...
- 在`dwr.xml`中,你可以设置安全策略,限制哪些用户或角色可以访问特定的Java方法,确保应用的安全性。 4. **JavaScript API**: - DWR提供了一系列JavaScript接口,如`DWREngine`、`RemoteObject`等,用于在...
8. **错误处理与调试**:学习如何处理DWR调用中出现的错误,包括客户端错误、服务器端错误以及网络问题。了解DWR提供的调试工具和日志记录。 9. **自定义扩展**:理解DWR的可扩展性,如何编写自定义转换器、适配器...
JavaScript Direct Web Remoting (DWR) 是一个开源的JavaScript库,它允许Web应用程序在客户端的JavaScript和服务器端的Java之间进行安全、简单的异步通信。这个框架极大地简化了AJAX(Asynchronous JavaScript and ...
7. **错误处理**:学习DWR提供的错误处理机制,如何捕获并处理客户端和服务器端的异常。 8. **集成与调试**:理解如何将DWR与其他前端框架(如jQuery或AngularJS)集成,并使用DWR的内置调试工具进行问题排查。 9....
**整合SSH+DWR异步通信详解** 在Web开发中,SSH(Struts2、Spring、Hibernate)是一个经典的Java EE框架组合,它们分别负责MVC模式中的Action层、业务逻辑层和服务数据持久化层。而DWR(Direct Web Remoting)则是...
现在我们来详细探讨如何利用ZTree和DWR实现异步加载树形菜单。 首先,ZTree是一个轻量级、灵活的jQuery插件,适用于构建可自定义的树形菜单。它支持多种操作,如点击节点、拖拽节点、右键菜单等,且提供了丰富的API...