RAP中操作servlet实现Excel下载
// servlet名
private final String SERVICE_HANDLER_ID="GridExportExcel";
public File exportExcel2Local(final File file){
File newFile=null;
try{
RWT.getServiceManager().registerServiceHandler(SERVICE_HANDLER_ID,new IServiceHandler() {
public void service() throws IOException, ServletException {
HttpServletResponse response=RWT.getResponse();
OutputStream out=response.getOutputStream();
response.setContentType("application/force-download");
response.setHeader("Content-Disposition",
"attachment; filename="
+ new String(file.getName()));
FileInputStream fis = new FileInputStream(file);
byte[] bt = new byte[1024];
for (int size = 0; size != -1; size = fis.read(bt)) {
out.write(bt, 0, size);
out.flush();
}
fis.close();
file.delete();
}
});
Browser brower=new Browser(Display.getCurrent().getActiveShell(),SWT.NONE);
brower.setUrl(getUrl(file.getCanonicalPath()));
}
catch(Exception ex){
ex.printStackTrace();
MessageDialog.openConfirm(new Shell(),"错误提示","出错了:"+ex.getMessage());
}
return newFile;
}
public String getUrl( String token ) {
StringBuffer url = new StringBuffer();
url.append( RWT.getRequest().getContextPath() );
url.append( RWT.getRequest().getServletPath() );
url.append( "?" );
url.append( IServiceHandler.REQUEST_PARAM ).append( "=" ).append( SERVICE_HANDLER_ID );
url.append( "&" );
url.append("file").append( "=" ).append( token );
int relativeIndex = url.lastIndexOf( "/" );
if( relativeIndex > -1 ) {
url.delete( 0, relativeIndex + 1 );
}
return RWT.getResponse().encodeURL( url.toString() );
}
分享到:
相关推荐
这个过程对于开发者来说非常重要,因为它使得RAP应用能够在任何支持Servlet容器(如Tomcat、Jetty等)中部署和运行。 首先,我们来详细了解一下RAP框架。RAP是基于Eclipse RCP(Rich Client Platform)技术的Web...
Laravel提供了多种库来帮助开发者实现这一功能,其中一个常用的库是`rap2hpoutre/fast-excel`。这个库以其高效、易用和灵活的特点,受到了广泛的欢迎。下面我们将深入探讨如何利用`rap2hpoutre/fast-excel`实现...
Rap 到 Rap2 接口迁移脚本, 一键全部迁移, 方便实用.方便实用.方便实用.方便实用. 因为我是不需要保留用户跟机构的,所以省了一部 需要前置操作,注册用户, 组织机构 默认的是 rap 在 rap 数据库, rap2 在 rap2_delos...
对于RAP应用,WAR文件包含了Servlet桥接器,使得RAP应用能在Servlet容器(如Tomcat)中运行。 **准备工作:** 1. 确保你已经安装了Eclipse IDE,且配置了RAP相关的插件。 2. 下载或从Eclipse的CVS仓库获取必要的jar...
它实现了Servlet API,使得RAP应用程序可以在Servlet容器中运行,同时保持其桌面应用程序的编程模型。通过这个桥接器,RAP能够处理HTTP请求,将这些请求转换为内部的RAP事件,然后将响应转换回HTTP响应。 2. `org....
- **构建一个数据管理应用**:通过数据库操作和表格显示,了解如何在RAP中实现数据的CRUD操作。 7. **最佳实践与进阶** - **响应式设计**:学习如何使RAP应用适应不同的屏幕尺寸和设备。 - **性能优化技巧**:...
在 `laravel-excel-master` 压缩包中,包含了 `laravel-excel` 的源代码,你可以查看其内部实现和示例,进一步了解如何根据需求进行定制。 总之,`laravel-excel` 扩展包极大地简化了 Laravel 中与 Excel 文件交互...
- 在RAP项目中,Action的实现可能需要调整,因为RAP可能不提供与RCP完全相同的ActionFactory。开发者可能需要自己创建Action的实现,例如创建一个自定义的aboutAction。 7. **主题和UI样式** - RAP允许自定义主题...
Servlet开发手册Servlet开发手册Servlet开发手册Servlet开发手册
4. **模板文件**:下载部署模板文件`rap.deploy.template.tar.gz`。 5. **RAP项目**:创建一个名为`com.jonsenelizee.rap.demo`的RAP项目(也可以使用其他名称,但需在后续步骤中做相应调整)。 #### 三、详细步骤 ...
6. **协作与分享**:提供团队协作功能,可以将接口项目共享给团队成员,实现多人同时编辑和讨论。 【压缩包中的文件】:"132676278067625891"可能是RAP系统的压缩包文件,包含源代码、配置文件、数据库脚本等相关...
初学者可以通过这个DEMO学习如何在实际项目中应用RAP框架,了解其核心功能和常用操作,从而快速提升开发技能。 【标签】"RAP官方DEMO" 进一步确认了这个压缩包的内容是与RAP框架相关的官方示例,可能包含了各种应用...
是一个通过B/S方式操作平台数据的轻量级工具,轻松实现档案、单据和报表的开发,普通用户无需编写任何代码,即可轻松完成复杂的功能,真正做到所见即所得。 该开发平台基于.NET体系,是在T+架构之上,通过框架...
3. RAP Fiori 相关教程中,涵盖了 ABAP RESTful 编程模型的详细知识,包括 ABAP 语言的基础知识、ABAP RESTful 编程模型的实现、Fiori 应用程序的开发等。 4. RAP Fiori 相关教程中还涵盖了 ABAP 语言的高级主题,...
标题中的"RAP放出了draw2d_in_RAP的Demo"提到了两个关键概念:RAP和draw2d。...通过阅读提供的博客文章,查看源代码,并观看视频,我们可以深入了解如何在RAP项目中利用draw2d实现丰富的2D图形交互功能。
通过学习和分析`RAP Mail`例子,我们可以更好地掌握`RAP`框架的使用,特别是对于`RAP`中的UI设计、服务接口定义、事件处理等方面有更深入的理解,同时也能了解到如何在Web环境中实现类似桌面应用的复杂功能。...
RAP 是一个强大的、基于 Java 的 Web 应用程序框架,专门设计用于构建富客户端应用程序,其核心是提供与桌面应用类似的用户体验,通过 AJAX 技术实现在 Web 端的流畅交互。 在 RAP 中,"Helloworld" 项目通常是学习...
- 在Release页面下载最新的war包,重命名为`ROOT.war`。 - 将`ROOT.war`放到Tomcat的`webapps`目录下。 - 运行`startup.sh(.bat)`启动Tomcat,war包会被自动部署到名为`ROOT`的目录。 - 关闭服务器,编辑`ROOT/...