`
zylucky
  • 浏览: 79755 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2下载以及文件未找到提示

阅读更多

 

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

分享到:
评论
1 楼 hehewenziwenzi 2016-11-30  
可不可以请你帮忙解释下,为什么我的文档不存在时,他连execute方法都不执行呢 就直接报错说找不到文件(是的,我是新人)

相关推荐

    struts2 配置dtd 自动提示

    为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常通过引用DTD(文档类型定义)来实现。 在标题和描述中提到的"struts2 配置dtd 自动提示"是指在Eclipse...

    Struts2没有提示解决方案

    在MyEclipse这样的集成开发环境中使用Struts2时,可能会遇到一些问题,比如在编写Struts2配置文件(如Struts.xml)时无法获得代码提示。这通常是由于IDE没有正确配置Struts2的DTD(Document Type Definition)导致的...

    struts2 学习重点笔记

    - **文件上传**:利用 Struts2 的 FileUploadInterceptor 实现文件上传功能。 - **文件下载**:可以通过 Action 的响应流来实现文件下载。 #### 五、Struts2 实践技巧与优化 **5.1 性能优化** - **减少 Action ...

    struts2——docs部分

    Struts2支持文件上传和下载功能,通过`&lt;s:file&gt;`标签和Action类中的方法,可以方便地处理文件操作。 **10. 结合其他技术** Struts2可以很好地与其他技术结合,如Spring、Hibernate等,形成完整的应用开发解决方案。...

    struts2文件上传中的struts.multipart.saveDir提示信息

    如果未设置此参数,当尝试上传文件时,Struts2框架将无法找到合适的存储位置,从而引发错误提示:“Unable to find 'struts.multipart.saveDir' property setting”。 这个错误信息表明,你的Struts2应用程序没有...

    遇到struts.xml配置文件没有提示信息

    struts2如何配置找到 struts下的提示信息

    struts2 简单的文件上传

    其中,`name`属性定义了文件域的名称,Struts2会根据这个名字找到对应的文件。 3. **Struts2配置**:在`struts.xml`配置文件中,需要为文件上传Action添加配置,启用文件上传拦截器。示例配置如下: ```xml ...

    netbean struts2 插件

    这通常通过“工具”&gt;“插件”菜单完成,然后在可用插件列表中找到并选择合适的Struts2插件进行安装。 2. **创建新项目**:安装完成后,开发者可以在新建项目时选择Struts2相关的项目模板,如“Struts2 Web ...

    用struts2实现的文件上传与下载

    本项目通过Struts2实现了文件的上传和下载功能,这在许多Web应用程序中是必不可少的,例如用户资料提交、资源分享等场景。在Eclipse集成开发环境中,结合Tomcat服务器,我们可以构建出高效且易于维护的文件处理系统...

    我的struts2的总结

    相比于Struts1,Struts2提供了更强大的功能,包括但不限于拦截器、类型转换、文件上传/下载等。Struts2的核心思想是基于拦截器(Interceptor)的,这种设计使得开发者可以更容易地扩展框架的功能。 ### Struts2与...

    struts2登陆例子

    2. **配置文件**:Struts2的配置文件(通常是struts.xml或struts-default.xml)定义了Action类与URL的映射,以及Action执行后返回的结果。例如,你可能会看到类似以下的配置: ```xml &lt;result name="success"&gt;/...

    Struts2登录DEMO

    8. **国际化(Internationalization, i18n)**:对于错误消息和提示信息,Struts2支持国际化,你可以看到DEMO中可能包含资源文件如`messages.properties`,用来存储不同语言环境下的文本。 通过这个Struts2登录DEMO...

    Struts2简单的页面跳转示例

    Action类中的方法对应用户请求的URL,当用户发起请求时,Struts2框架会根据配置文件(struts.xml)找到对应的Action并执行相应的方法。 例如,我们可以创建一个名为`SimpleAction`的类,其中包含一个`execute()`...

    struts2 文件上传下载的实现

    在Struts2中实现文件的上传与下载是常见的需求,这涉及到用户交互、文件流处理以及安全控制等多个方面。本篇文章将深入探讨如何在Struts2框架下实现文件上传与下载的功能。 首先,我们要理解Struts2中的Action类,...

    struts2+spring+mybatis

    2. **业务逻辑处理**:当用户发起请求时,Struts2的拦截器链会处理请求,找到对应的Action并执行。Action通常会调用由Spring管理的Service层对象来处理业务逻辑,Service层又会进一步调用MyBatis的Mapper接口来操作...

    struts2 学习及讲解文档完美版

    Struts 2是一个基于MVC(Model-View-...通过深入理解Struts 2的配置文件、核心机制以及IDE集成,开发者可以更有效地开发和维护基于Struts 2的Java Web应用。不断实践和探索,将使你对Struts 2的掌握更加熟练。

    Struts2学习小结

    2. **服务器接收请求**:服务器接收请求后,通过 `web.xml` 中定义的过滤器找到 Struts2 过滤器并执行其 `doFilter()` 方法。 3. **解析请求**:Struts2 过滤器根据 `struts.xml` 配置文件查找匹配的命名空间 (`...

    struts2文档

    Struts2 的核心功能包括表单填充、类型转换、文件上传、国际化支持以及强大的拦截器机制等。 #### 二、Struts2安装与配置 ##### 1. 解压struts-2.1.6-all.zip - **apps目录**: 包含了Struts2自带的一些示例程序,...

    struts2实现的文件上传

    在Struts2中实现文件上传功能是常见的需求,这通常涉及到用户通过Web界面提交文件,然后服务器端处理并存储这些文件。以下将详细介绍如何使用Struts2来实现文件上传。 首先,我们需要在Struts2的配置文件(如struts...

    struts2官方例子7-表单验证 xml形式的验证

    接着,我们需要在Action类中定义对应的属性和getter/setter方法,以便Struts2能够找到要验证的字段。例如: ```java public class UserAction extends ActionSupport { private String username; // getters ...

Global site tag (gtag.js) - Google Analytics