Struts2文件的下载

1、下载登录页面download.jsp

  1: <%@ page language="java" contentType="text/html; charset=UTF-8"
  2:     pageEncoding="UTF-8"%>
  3: <%@ taglib prefix="s" uri="/struts-tags" %>
  4: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5: <html>
  6:   <head>
  7:     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8:     <title>下载页面</title>
  9:   </head>
 10:   <body>
 11:     下载前的登录页面
 12:     <s:form action="download1">
 13:       <s:textfield name="user" label="用户名"/>
 14:       <s:textfield name="pass" label="密    码"/>
 15:       <s:submit value="下载"/>
 16:     </s:form>
 17:   </body>
 18: </html>

2、FileDownAction.java

  1: package cc.openhome;
  2:
  3: import java.io.File;
  4: import java.io.FileInputStream;
  5: import java.io.InputStream;
  6: import com.opensymphony.xwork2.Action;
  7: import com.opensymphony.xwork2.ActionSupport;
  8: public class FileDownAction extends ActionSupport implements Action {
  9:   private InputStream fileInputStream;
 10:   private String fileName;
 11:   private String user;
 12:   private String pass;
 13:
 14:   public String getUser() {
 15:     return user;
 16:   }
 17:   public void setUser(String user) {
 18:     this.user = user;
 19:   }
 20:   public String getPass() {
 21:     return pass;
 22:   }
 23:   public void setPass(String pass) {
 24:     this.pass = pass;
 25:   }
 26:   public InputStream getFileInputStream() {
 27:     return fileInputStream;
 28:   }
 29:   public void setFileInputStream(InputStream fileInputStream) {
 30:     this.fileInputStream = fileInputStream;
 31:   }
 32:   public String getFileName() {
 33:     return fileName;
 34:   }
 35:   public void setFileName(String fileName) {
 36:     this.fileName = fileName;
 37:   }
 38:   @Override
 39:   public String execute() throws Exception {
 40:     // TODO Auto-generated method stub
 41:     if(getUser().equals("nihao") && getPass().equals("nihao")){
 42:       File file = new File("E:/java web/workspace/struts-fileupload/WebContent/images/struts-gif.rar");
 43:       fileName=file.getName();
 44:       fileInputStream=new FileInputStream(file);
 45:       return SUCCESS;
 46:     }else{
 47:       return ERROR;
 48:     }
 49:   }
 50:   public void validate(){
 51:     if(getUser()==null || getUser().trim().equals("")){
 52:       addFieldError("user", getText("user.required"));
 53:     }
 54:     if(getPass()==null || getPass().trim().equals("")){
 55:       addFieldError("pass", getText("pass.required"));
 56:     }
 57:   }
 58:
 59: }
 60: 

3、struts.xml

  1: <?xml version="1.0" encoding="UTF-8" ?>
  2: <!DOCTYPE struts PUBLIC
  3:   "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  4:   "http://struts.apache.org/dtds/struts-2.3.dtd">
  5:
  6: <struts>
  7:   <constant name="struts.custom.i18n.resources" value="message"/>
  8:   <package name="struts2" extends="struts-default">
  9:     <action name="download1" class="cc.openhome.FileDownAction">
 10:       <param name="inputPath">\images\struts-gif.rar</param>
 11:       <result name="success" type="stream">
 12:         <param name="contentType">application/octet-stream</param>
 13:         <param name="inputName">fileInputStream</param>
 14:         <param name="contentDisposition">acttachment;filename="${ fileName}"</param>
 15:         <param name="bufferSize">4096</param>
 16:       </result>
 17:       <result name="input">/input.jsp</result>
 18:     </action>
 19:    </package>
 20: </struts>  

4、运行结果

   

时间: 2025-01-13 19:02:33

Struts2文件的下载的相关文章

笔记:Struts2 文件上传和下载

为了上传文件必须将表单的method设置为POST,将 enctype 设置为 muiltipart/form-data,只有设置为这种情况下,浏览器才会把用户选择文件的二进制数据发送给服务器. 上传解析器配置 Struts2 没有提供自己的请求解析器,struts2 需要调用其他上传框架来解析二进制数据,struts2 默认使用 jakarta 的 Common-FileUpload 的文件上传框架,需要在 Web 应用的 lib 中增加 commons-io-2.2.jar 和 common

struts2 文件的上传下载 表单的重复提交 自定义拦截器

文件上传中表单的准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置为 post 需添加 <input type=“file”> 字段. Struts 对文件上传的支持 在 Struts 应用程序里, FileUpload 拦截器和 Jakarta Commons FileUpload 组件可以完成文件的上传. 步骤:1. 在 Jsp 页面的文件上传表单里使用

struts2 文件上传下载

四.文件的上传(拦截器)和下载(stream结果类型)(需要练一遍) 1.文件上传 必要前提: a.表单method必须是post: b.enctype取值必须是multipart/form-data: c.提供文件选择域. 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <%@ taglib uri="/struts-t

4、struts2 文件上传下载

1.文件上传 struts提交的文件组件上传, 前台: 1.提交方式POST 2.表单类型 multipart/form-data 3.input type=file 后台: Apache提供的FileUpload组件 核心类: FileItemFactory FileItem的工厂 ServletFileUpload servlet 中的文件上传的核心类 FileItem 封装了上传的表单文件项的信息 总之 文件上传,处理起来比较麻烦 Struts的文件上传 文件上传拦截器帮助我们晚场了文件上

struts2文件上传下载

文件上传 1.struts2中文件上传介绍 struts2文件上传需要使用apache提供的文件上传组件(commons-fileupload.jar和commons-io.jar). struts2文件上传的核心是通过fileupload拦截器实现的. 2.如何实现文件上传 1>.添加commons-fileupload和commons-io包 2>.在jsp页面做如下配置 将form的method属性值设置为post 给form标记添加属性enctype="multipart/f

【SSH2(实践篇)】--Struts2文件上传下载实例

上篇文章又一次回顾了Struts2的运行机制,对它的运行步骤做了一步步的解析,这个解析不但再一次理清了Struts2的使用方法,而且对它的映射机制进行了深入的解析,并在最后通过一个实例来介绍了Struts2的一种使用方法,这里将做一个有关文件上传下载的实例. 一.文件上传 Struts2并没有提供文件上传的组件,所以想要实现上传的功能就必须通过第三方组件来实现,在Struts2引用的jar中包含了文件上传的组件,它是通过commons-fileupload.jar和commons-io.jar来

struts2实现文件批量下载

大家都知道struts2提供了文件下载的功能,很方便很好用.废话不多说直接开始. 首先我们先对struts.xml进行配置,struts2的result 类型设为stream,请看如下配置: <span style="font-size:18px;"> <result name="toDownload" type="stream"> <param name="bufferSize">2048

struts2学习(13)struts2文件上传和下载(1)

一.Struts2文件上传: 二.配置文件的大小以及允许上传的文件类型: 三.大文件上传: 如果不配置上传文件的大小,struts2默认允许上传文件最大为2M: 2097152Byte: 例子实现: com.cy.action.FileUploadAction.java: package com.cy.action; import java.io.File; import org.apache.commons.io.FileUtils; import com.opensymphony.xwork

Struts2 文件上传和文件下载

一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="upload.action" enctype="multipart/form-data" method="post" namespace="/"> <s:textfield name="title" lable=&q