Struts2 - Struts2的文件下载(从零开始学习Strust2_10)

来源:互联网 发布:淘宝分期免息怎么设置 编辑:程序博客网 时间:2024/06/05 18:39

开发环境:

Eclipse IDE for Java EE Developers(下载地址)

struts-2.3.1.2(下载地址)

apache-tomcat-6.0.35(下载地址)


重点是Action和Struts.xml


web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>struts2_20120317_02</display-name><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>


struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.devMode" value="true" /><package name="default" extends="struts-default"><action name="DownloadAction" class="com.zeph.struts2.action.DownloadAction"><param name="inputPath">/upload/test.txt</param><result name="success" type="stream"><param name="contentType">application/octet-stream</param><param name="contentDisposition">filename="struts.txt"</param><param name="inputName">downloadFile</param><param name="bufferSize">4096</param></result></action></package></struts>


index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@taglib uri="/struts-tags" prefix="s"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><a href="DownloadAction">download</a></body></html>


DownloadAction.java

package com.zeph.struts2.action;import java.io.InputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class DownloadAction extends ActionSupport {private static final long serialVersionUID = 1L;private String inputPath;public String getInputPath() {return inputPath;}public void setInputPath(String inputPath) {this.inputPath = inputPath;}public InputStream getDownloadFile() throws Exception{return ServletActionContext.getServletContext().getResourceAsStream(inputPath);}@Overridepublic String execute() throws Exception {System.out.println(getInputPath());return SUCCESS;}}








原创粉丝点击