1.前端js代码:
ExcelService.createExcel({
callback:function(rtnData){
dwr.engine.openInDownload(rtnData); //调用dwr中的下载函数
},exceptionHandler:function(e){
alert("导出Excel失败!");
}
});
后台java代码使用了poi和dwr的函数:
public FileTransfer createExcel() throws Exception{
try{
Workbook wb=new HSSFWorkbook(); //生成Excel文件
... //创建Excel具体内容略去
ByteArrayOutputStream out = new ByteArrayOutputStream(); //使用这个文件流存放输出文件
byte[] temp = new byte[1024];
wb.write(out);
out.close();
String filename ="sss.xls"; //默认输出值为filename的值
return new FileTransfer(filename,"application/vnd.ms-excel", out.toByteArray()); //将生成excel文件返回前台js
}catch(Exception e){}}
这里面,在chrome下可以成功下载,在ie下可能被浏览器拦截,无法下载,这是由于ie拦截器屏蔽异步式操作造成的,需要在js文件中添加,设异步为同步即可:
dwr.engine.setAsync(false);
分享到:
相关推荐
在“DWR3实现服务器端向客户端精确推送消息”这一主题中,我们将深入探讨如何利用DWR3进行服务器到客户端的消息推送,以及这种技术的优势和应用。 首先,理解DWR3的工作原理是至关重要的。DWR3通过建立一个安全的...
另一方面,Streaming则是通过持续发送小量数据流到客户端来维持连接。这种方式可以有效地减少服务器资源消耗,但对浏览器的兼容性要求较高。DWR提供了对这两种Comet技术的支持,开发者可以根据实际需求选择合适的...
当客户端调用服务器端的Java方法时,DWR会自动将参数序列化为JSON格式的数据发送给服务器;服务器端执行完毕后,再将结果反序列化成客户端可识别的对象。 #### 四、DWR的优点 1. **易用性**:DWR提供了极其简单的...
2. **创建Java Beans**: 在服务器端,你需要定义一些Java类(通常称为Beans),这些类的方法将被暴露给客户端的JavaScript调用。这些类应包含公共的无参数方法,因为只有这些方法可以通过DWR访问。 3. **生成...
5. **消息处理**:当服务器端有新消息时,通过DWR的ReverseAjax机制,调用客户端的JavaScript函数,将消息传递给用户。 6. **安全与优化**:考虑并发处理、性能优化、以及安全性问题,如防止跨站脚本攻击(XSS)和...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行异步的、动态的交互。DWR的主要目标是简化AJAX(Asynchronous JavaScript and XML)开发,使得开发者...
DWR,全称Direct Web Remoting,是一种在Web应用程序中实现客户端JavaScript与服务器端Java代码之间直接交互的开源框架。它旨在简化远程方法调用(Remote Method Invocation,RMI)的过程,使得在浏览器环境中可以像...
在这个"ssh(dwr).rar_DWR SSH_dwr_java dwr_ssh_ssh_dwr"压缩包中,我们有一个关于如何将SSH与DWR整合的示例项目。这个整合能够帮助开发者在远程服务器上执行命令,或者通过DWR调用Java服务,然后通过SSH传输数据,...
2. **Java电子表单库**:在Java中,开发者可以使用各种库来创建和管理电子表单,如Apache POI用于处理Microsoft Office格式的文件,JExcelAPI处理Excel,或者使用iText和Flying Saucer生成PDF。这些库提供了丰富的...
10. **实时更新(Remote Update)**:DWR的实时更新功能允许服务器主动推送数据到客户端,而无需客户端发起请求,这在实现实时应用时非常有用。 通过"TestDwr"中的示例,你可以看到如何配置DWR,创建可调用的Java服务...
利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码). 它供给那些想要以一种简单的方式使用AJAX和XMLHttpRequest...
dwr 框架实现了服务器推技术,使得服务器可以实时推送数据到客户端,实现了实时通信的功能。 七、结论 Java+dwr 框架实现聊天室是使用Java语言和dwr框架实现的服务器推技术,实现了实时通信的聊天室功能。该技术的...
1. **反向Ajax(Reverse Ajax)**:DWR的核心是反向Ajax技术,它打破了传统的请求-响应模式,允许服务器主动推送数据到客户端,而不必等待用户的触发。 2. **Java远程调用(Remote Method Invocation, RMI)**:DWR...
`DwrServlet`负责处理来自客户端的请求,`debug`参数设置为`true`意味着DWR将在控制台输出调试信息。`servlet-mapping`定义了DWR服务的URL路径。 另外,`dwr.xml`配置文件定义了DWR的行为和映射。在这个例子中,...
DWR允许Java服务器端代码与JavaScript在客户端直接通信,使得Web应用可以像桌面应用一样实时更新,而无需刷新整个页面。 **一、DWR简介** DWR(Direct Web Remoting)是一个开源框架,它简化了Java服务器与...
本文将详细探讨DWR的配置与使用,尤其是如何在JavaScript环境中调用Java方法,帮助初学者快速掌握这一技能。 #### 一、DWR配置详解:web.xml中的关键设置 ##### 1. 最小配置 在web.xml中,DWR的最基础配置涉及创建...
DWR支持Push技术,可以主动将服务器端的数据推送到客户端。例如,可以创建一个后台线程,监听数据库变化,一旦有新消息,就通过DWR的Push机制将消息发送到相关的前端页面。 6. **DWR的安全性**:DWR提供了多种安全...
- **DWR的安装和配置**:如何将DWR库集成到Web项目中,设置web.xml和dwr.xml文件。 - **DWR的API使用**:包括RemoteObject、Batching、Caching等特性,以及如何在JavaScript中调用Java方法。 - **购物车功能实现**:...
它允许JavaScript在客户端与服务器端的Java对象之间进行直接调用,无需刷新页面,从而实现了所谓的“反向Ajax”或者“富互联网应用”(RIA)的功能。本课件主要涵盖了DWR的基本用法和常见操作,包括数据类型的处理、...