`
zhangfan822
  • 浏览: 255885 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

RAP 操作servlet实现Excel下载

    博客分类:
  • rap
阅读更多
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打包成War 所需的eclipse jar包,以及demo

    这个过程对于开发者来说非常重要,因为它使得RAP应用能够在任何支持Servlet容器(如Tomcat、Jetty等)中部署和运行。 首先,我们来详细了解一下RAP框架。RAP是基于Eclipse RCP(Rich Client Platform)技术的Web...

    Laravel的快速Excel导入导出

    Laravel提供了多种库来帮助开发者实现这一功能,其中一个常用的库是`rap2hpoutre/fast-excel`。这个库以其高效、易用和灵活的特点,受到了广泛的欢迎。下面我们将深入探讨如何利用`rap2hpoutre/fast-excel`实现...

    Rap Rap2 接口迁移

    Rap 到 Rap2 接口迁移脚本, 一键全部迁移, 方便实用.方便实用.方便实用.方便实用. 因为我是不需要保留用户跟机构的,所以省了一部 需要前置操作,注册用户, 组织机构 默认的是 rap 在 rap 数据库, rap2 在 rap2_delos...

    RAP 打成war并发布到tomcat(操作步骤)

    对于RAP应用,WAR文件包含了Servlet桥接器,使得RAP应用能在Servlet容器(如Tomcat)中运行。 **准备工作:** 1. 确保你已经安装了Eclipse IDE,且配置了RAP相关的插件。 2. 下载或从Eclipse的CVS仓库获取必要的jar...

    Eclipse RAP Deploy - 针对Eclipse 3.5 + Tomcat

    它实现了Servlet API,使得RAP应用程序可以在Servlet容器中运行,同时保持其桌面应用程序的编程模型。通过这个桥接器,RAP能够处理HTTP请求,将这些请求转换为内部的RAP事件,然后将响应转换回HTTP响应。 2. `org....

    eclipse rap教程

    - **构建一个数据管理应用**:通过数据库操作和表格显示,了解如何在RAP中实现数据的CRUD操作。 7. **最佳实践与进阶** - **响应式设计**:学习如何使RAP应用适应不同的屏幕尺寸和设备。 - **性能优化技巧**:...

    Laravel开发-laravel-excel

    在 `laravel-excel-master` 压缩包中,包含了 `laravel-excel` 的源代码,你可以查看其内部实现和示例,进一步了解如何根据需求进行定制。 总之,`laravel-excel` 扩展包极大地简化了 Laravel 中与 Excel 文件交互...

    RCP工程转成RAP,并在浏览器中运行

    - 在RAP项目中,Action的实现可能需要调整,因为RAP可能不提供与RCP完全相同的ActionFactory。开发者可能需要自己创建Action的实现,例如创建一个自定义的aboutAction。 7. **主题和UI样式** - RAP允许自定义主题...

    Servlet开发手册

    Servlet开发手册Servlet开发手册Servlet开发手册Servlet开发手册

    RAP Deploy Specification pdf

    4. **模板文件**:下载部署模板文件`rap.deploy.template.tar.gz`。 5. **RAP项目**:创建一个名为`com.jonsenelizee.rap.demo`的RAP项目(也可以使用其他名称,但需在后续步骤中做相应调整)。 #### 三、详细步骤 ...

    基于PHP的rap(RAP接口管理系统).zip

    6. **协作与分享**:提供团队协作功能,可以将接口项目共享给团队成员,实现多人同时编辑和讨论。 【压缩包中的文件】:"132676278067625891"可能是RAP系统的压缩包文件,包含源代码、配置文件、数据库脚本等相关...

    RAP官方DEMO,找了很久的

    初学者可以通过这个DEMO学习如何在实际项目中应用RAP框架,了解其核心功能和常用操作,从而快速提升开发技能。 【标签】"RAP官方DEMO" 进一步确认了这个压缩包的内容是与RAP框架相关的官方示例,可能包含了各种应用...

    用友T+RAP报表开发

    是一个通过B/S方式操作平台数据的轻量级工具,轻松实现档案、单据和报表的开发,普通用户无需编写任何代码,即可轻松完成复杂的功能,真正做到所见即所得。 该开发平台基于.NET体系,是在T+架构之上,通过框架...

    RAP Fiori 相关教程

    3. RAP Fiori 相关教程中,涵盖了 ABAP RESTful 编程模型的详细知识,包括 ABAP 语言的基础知识、ABAP RESTful 编程模型的实现、Fiori 应用程序的开发等。 4. RAP Fiori 相关教程中还涵盖了 ABAP 语言的高级主题,...

    RAP放出了draw2d_in_RAP的Demo

    标题中的"RAP放出了draw2d_in_RAP的Demo"提到了两个关键概念:RAP和draw2d。...通过阅读提供的博客文章,查看源代码,并观看视频,我们可以深入了解如何在RAP项目中利用draw2d实现丰富的2D图形交互功能。

    RAP Mail例子解释

    通过学习和分析`RAP Mail`例子,我们可以更好地掌握`RAP`框架的使用,特别是对于`RAP`中的UI设计、服务接口定义、事件处理等方面有更深入的理解,同时也能了解到如何在Web环境中实现类似桌面应用的复杂功能。...

    RAP Helloworld

    RAP 是一个强大的、基于 Java 的 Web 应用程序框架,专门设计用于构建富客户端应用程序,其核心是提供与桌面应用类似的用户体验,通过 AJAX 技术实现在 Web 端的流畅交互。 在 RAP 中,"Helloworld" 项目通常是学习...

    rap搭建私有服务.docx

    - 在Release页面下载最新的war包,重命名为`ROOT.war`。 - 将`ROOT.war`放到Tomcat的`webapps`目录下。 - 运行`startup.sh(.bat)`启动Tomcat,war包会被自动部署到名为`ROOT`的目录。 - 关闭服务器,编辑`ROOT/...

Global site tag (gtag.js) - Google Analytics