action导出文件流的方法
.一) Excel导出
配置文件中:
<action name="itemToExcel" class="itemSetupManager" method="itemToExcel">
<result name="error">/error.html</result>
<interceptor-ref name="defaultComponentStack"/>
</action>
action中:
ServletActionContext.getResponse().reset();
ServletActionContext.getResponse().setContentType(
"application/octet-stream");
typeName=new String(typeName.getBytes("GBK"),"ISO-8859-1");//解决文件中文名称问题
ServletActionContext.getResponse().setHeader("Content-Disposition",
"attachment; filename="+typeName+".xls");
out = ServletActionContext.getResponse().getOutputStream();
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(out);
itemChufaService.toExcel(wwb, itemList,title,status,type);
out.close();
return SUCCESS;
二)下载文件
<!-- 下载文件 -->
<action name="downLoadGonggaoAtta" class="infoManage" method="downLoadGonggaoAtta">
<result name="success" type="stream">
<param name="inputName">inputStream</param>
<param name="contentType">application/octet-stream;charset=gb2312</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">2048</param>
</result>
</action>
action中:
File file = new File(filePath);
inputStream = new FileInputStream(file);
return SUCCESS;
.
分享到:
相关推荐
Struts2提供了文件流的方式来实现这一需求,这种方式避免了在服务器上生成临时文件,提高了效率并减少了服务器存储空间的占用。下面将详细讲解如何使用Struts2的文件流技术来实现这些功能。 首先,我们需要理解文件...
搭建SSH框架,利用JSP前台调用Action类中的方法,从数据库读出数据,导出TXT文件和Excel文件。TXT文件导出只用到流操作。导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010...
4. 将生成的Excel文件流设置到Action的Result中,比如配置一个名为`excel`的Result类型,指向生成的Excel文件流。 5. 在前端页面上,添加一个触发导出的按钮或链接,通过AJAX调用对应的Struts2 Action。 总结,...
4. **Action 类实现**:在 Action 类中,通常会创建一个方法来生成 Excel 文件。这个方法会创建 `HSSFWorkbook` 对象(Excel 工作簿),然后创建 `HSSFSheet` 对象(工作表),接着创建 `HSSFRow`(行)和 `HSSFCell...
1. **Struts2**:作为MVC框架,Struts2主要负责接收HTTP请求,将请求映射到特定的Action,然后调用相应的业务方法,最后返回视图。导入功能可能涉及到Struts2的拦截器(Interceptor),用于在Action执行前后添加...
在`ExcelDownloadAction`中,你需要定义一个返回`InputStream`的方法,例如`getInputStream()`,因为Struts2可以处理返回`InputStream`的Action方法,将其作为HTTP响应的输出流。 在`getInputStream()`方法内,首先...
Struts 2的配置文件(struts.xml)会定义这些Action及其关联的业务方法。在响应用户请求时,Action将创建Excel文件并将其作为HTTP响应的附件返回,用户可以下载保存。 7. **实际操作流程**: - 创建报表实体对象,...
`contentDisposition`设置使得浏览器将文件作为附件下载,其中`fileName`变量允许动态设置导出文件的名称。 接下来,我们看Action类的实现。Action类通常包含一个或多个方法,这些方法对应于用户的请求。在`panyu....
2. **Action配置**:在Struts2的配置文件(struts.xml)中,需要定义一个Action,指定文件上传的处理方法,并配置允许的文件类型和大小限制。 3. **Action实现**:在Action类中,创建一个`File`对象和一个`String`...
Struts2是一个流行的Java web框架,它允许开发者构建MVC(模型-视图-控制器)架构的应用程序。在本案例中,"struts2+poi实现导出...这一过程涉及了MVC模式、HTTP响应处理、文件流操作以及Excel数据结构的理解与使用。
6. 最后,在 Action 方法返回 "success",Struts2 将使用配置的 `stream` 结果来处理这个字节流,从而完成 Excel 文件的导出。 这个过程不仅限于简单的数据导出,你还可以根据需求实现更复杂的功能,如合并单元格、...
- `makeExcel`方法负责处理导出Excel的动作,它需要处理异常,并通过`getDownloadFile`方法来获取待下载的文件流。 - `getDownloadFile`方法会从会话(session)中获取店铺信息,根据信息查询数据库,获取相应的数据...
1. **Action配置**:在Struts2的配置文件中,为导出Excel的请求定义一个Action,设置其结果类型为StreamingResult或StreamingAction,这样可以直接将文件流输出到客户端。 2. **创建Workbook对象**:在Action的执行...
6. **Struts2配置**:在Struts2的配置文件(struts.xml)中,定义一个导出Excel的Action,返回类型设置为流类型(通常为“stream”),并将生成的Excel内容设置到HttpServletResponse的输出流中。 7. **Action实现*...
这个Action需要定义两个方法:一个用于导出Excel,另一个用于导入Excel。导出通常是一个HTTP响应,返回一个带有Content-Disposition头的流,指示浏览器保存或打开文件。导入则需要读取上传的文件,并进行解析。 三...
在Struts2中,Action可以通过Result返回不同的视图,比如JSP、XML或流文件,这正是我们导出Excel所需的。 接下来,我们引入Apache POI。POI提供了读写Microsoft Office文件的API,对于Excel,主要使用HSSFWorkbook...
这可能是因为对于简单数据导出需求,直接操作文件流的方式更为轻量级,减少了对额外库的依赖。 2. **功能概述**: - **主页展示**:列出所有地址信息,提供导出当前页和导出全部到Excel的选项。 - **详细信息展示...
4. 对于导出,先根据需求从数据库中查询或计算所需的数据,然后调用Excel工具类生成Excel文件流。 5. 设置响应头,让浏览器以文件下载的方式呈现这个流。 在这个示例“TestJfinal”中,我们可以看到如何将上述概念...
在这个Action类中,我们将编写导出Excel的方法。首先,创建一个`HSSFWorkbook`对象,它是POI库中表示Excel工作簿的类。然后,创建一个`HSSFSheet`对象,表示工作簿中的一个工作表。每个工作表可以包含多个`HSSFRow`...