jsp页面
<form action="<c:url value='/uploadFile.do'/>" name="form1" method="post"
enctype="multipart/form-data" >
<input name="doc" id= "doc" type="file" />
</form>
其中: enctype="multipart/form-data" 必备
struts.xml配置:
<action name="download" class="uploadandDownloadRiskReportAction">
<param name="fileName">此入填写下提示的名称,比如:测试报告.doc</param>
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="inputName">inputStream</param>
<!-- 使用经过转码的文件名作为下载文件名,downloadFileName属性 对应action类中的方法 getDownloadFileName() -->
<param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
<param name="bufferSize">4096</param>
</result>
<result name="error">/app/report/annualReportOfTheLegalRisks/error.jsp</result>
</action>
JAVA 代码:
private String fileName;// 初始的通过param指定的文件名属性 set/get省略
public InputStream getInputStream() {
//下载地址
String inputPath = this.getRequest().getRealPath("/")
+ "docs\\annualreport\\template\\测试报告.doc";
logger.info("inputPath ***********" + inputPath);
InputStream stream = null;
try {
stream = new java.io.FileInputStream(inputPath);
} catch (FileNotFoundException e) {
}catch(IOException ie){
}
return stream;
}
public String execute(){
logger.info("****************************会先*进入了execute 方法*******************************");
String inputPath = this.getRequest().getRealPath("/")+PropertiesUtil.getInstance().getProperty("riskReportFilePath");
File file = new File(inputPath);
if(file.exists()){
return SUCCESS;
}else{
this.errorStr ="未找到文件";
this.returnUrl="/uploadandDownload/init.do";
return ERROR;
}
}
public String getDownloadFileName() {
String downFileName = fileName;
try {
downFileName = new String(downFileName.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
}
return downFileName;
}
java中的两个方法必备。
具体查看资料:http://berry0606.iteye.com/blog/570239
分享到:
相关推荐
为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常通过引用DTD(文档类型定义)来实现。 在标题和描述中提到的"struts2 配置dtd 自动提示"是指在Eclipse...
在MyEclipse这样的集成开发环境中使用Struts2时,可能会遇到一些问题,比如在编写Struts2配置文件(如Struts.xml)时无法获得代码提示。这通常是由于IDE没有正确配置Struts2的DTD(Document Type Definition)导致的...
- **文件上传**:利用 Struts2 的 FileUploadInterceptor 实现文件上传功能。 - **文件下载**:可以通过 Action 的响应流来实现文件下载。 #### 五、Struts2 实践技巧与优化 **5.1 性能优化** - **减少 Action ...
Struts2支持文件上传和下载功能,通过`<s:file>`标签和Action类中的方法,可以方便地处理文件操作。 **10. 结合其他技术** Struts2可以很好地与其他技术结合,如Spring、Hibernate等,形成完整的应用开发解决方案。...
如果未设置此参数,当尝试上传文件时,Struts2框架将无法找到合适的存储位置,从而引发错误提示:“Unable to find 'struts.multipart.saveDir' property setting”。 这个错误信息表明,你的Struts2应用程序没有...
struts2如何配置找到 struts下的提示信息
其中,`name`属性定义了文件域的名称,Struts2会根据这个名字找到对应的文件。 3. **Struts2配置**:在`struts.xml`配置文件中,需要为文件上传Action添加配置,启用文件上传拦截器。示例配置如下: ```xml ...
这通常通过“工具”>“插件”菜单完成,然后在可用插件列表中找到并选择合适的Struts2插件进行安装。 2. **创建新项目**:安装完成后,开发者可以在新建项目时选择Struts2相关的项目模板,如“Struts2 Web ...
本项目通过Struts2实现了文件的上传和下载功能,这在许多Web应用程序中是必不可少的,例如用户资料提交、资源分享等场景。在Eclipse集成开发环境中,结合Tomcat服务器,我们可以构建出高效且易于维护的文件处理系统...
相比于Struts1,Struts2提供了更强大的功能,包括但不限于拦截器、类型转换、文件上传/下载等。Struts2的核心思想是基于拦截器(Interceptor)的,这种设计使得开发者可以更容易地扩展框架的功能。 ### Struts2与...
2. **配置文件**:Struts2的配置文件(通常是struts.xml或struts-default.xml)定义了Action类与URL的映射,以及Action执行后返回的结果。例如,你可能会看到类似以下的配置: ```xml <result name="success">/...
8. **国际化(Internationalization, i18n)**:对于错误消息和提示信息,Struts2支持国际化,你可以看到DEMO中可能包含资源文件如`messages.properties`,用来存储不同语言环境下的文本。 通过这个Struts2登录DEMO...
Action类中的方法对应用户请求的URL,当用户发起请求时,Struts2框架会根据配置文件(struts.xml)找到对应的Action并执行相应的方法。 例如,我们可以创建一个名为`SimpleAction`的类,其中包含一个`execute()`...
在Struts2中实现文件的上传与下载是常见的需求,这涉及到用户交互、文件流处理以及安全控制等多个方面。本篇文章将深入探讨如何在Struts2框架下实现文件上传与下载的功能。 首先,我们要理解Struts2中的Action类,...
2. **业务逻辑处理**:当用户发起请求时,Struts2的拦截器链会处理请求,找到对应的Action并执行。Action通常会调用由Spring管理的Service层对象来处理业务逻辑,Service层又会进一步调用MyBatis的Mapper接口来操作...
Struts 2是一个基于MVC(Model-View-...通过深入理解Struts 2的配置文件、核心机制以及IDE集成,开发者可以更有效地开发和维护基于Struts 2的Java Web应用。不断实践和探索,将使你对Struts 2的掌握更加熟练。
2. **服务器接收请求**:服务器接收请求后,通过 `web.xml` 中定义的过滤器找到 Struts2 过滤器并执行其 `doFilter()` 方法。 3. **解析请求**:Struts2 过滤器根据 `struts.xml` 配置文件查找匹配的命名空间 (`...
Struts2 的核心功能包括表单填充、类型转换、文件上传、国际化支持以及强大的拦截器机制等。 #### 二、Struts2安装与配置 ##### 1. 解压struts-2.1.6-all.zip - **apps目录**: 包含了Struts2自带的一些示例程序,...
在Struts2中实现文件上传功能是常见的需求,这通常涉及到用户通过Web界面提交文件,然后服务器端处理并存储这些文件。以下将详细介绍如何使用Struts2来实现文件上传。 首先,我们需要在Struts2的配置文件(如struts...
接着,我们需要在Action类中定义对应的属性和getter/setter方法,以便Struts2能够找到要验证的字段。例如: ```java public class UserAction extends ActionSupport { private String username; // getters ...