读书人

Struts2 文件上载 文件名自定义 文件名

发布时间: 2013-01-01 14:04:20 作者: rapoo

Struts2 文件下载 文件名自定义 文件名中文

struts文件下载,文件名自定义,文件名中文,简单例子如下:

?

一、ExcelBaseAction代码:

?

package com.comba.omc.web.action;import java.io.InputStream;import java.io.UnsupportedEncodingException;import org.apache.struts2.ServletActionContext;public abstract class ExcelBaseAction{public InputStream excelStream;//excel文件public String downloadFileName;//文件名public abstract String toExcel();public InputStream getExcelStream() {return excelStream;}public String getDownloadFileName() {          try {          ServletActionContext.getResponse().setHeader("charset","ISO8859-1");               return new String(this.downloadFileName.getBytes(), "ISO8859-1");             } catch (UnsupportedEncodingException e) {              return "获取文件名出现了错误!";          }      }  }

?

二、FileDownloadAction代码:

?

?

package com.comba.omc.web.action;import java.io.InputStream;import org.apache.struts2.ServletActionContext;public class FileDownloadAction extends ExcelBaseAction{private String inputPath;public void setInputPath(String value) {inputPath = value;}// 获取下载的文件public InputStream getInputStream() throws Exception {// inputPath="/images/struts.gif";System.out.println("---------" + ServletActionContext.getServletContext().getResourceAsStream(inputPath));return ServletActionContext.getServletContext().getResourceAsStream(inputPath);}public String execute() throws Exception {return toExcel();}@Overridepublic String toExcel() {try{downloadFileName = "文件名我来定义.xls";}catch(Exception ex){ex.printStackTrace();}// TODO Auto-generated method stubreturn "excel";}}

?

三、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><package name="struts2" extends="struts-default"><action name="download" type="stream">                  <param name="contentType">application/vnd.ms-excel;charset=ISO8859-1</param>                  <param name="contentDisposition">attachment;filename="${downloadFileName}"</param>                  <param name="bufferSize">1024</param>                <param name="inputName">inputStream</param>              </result> </action></package></struts>

?

四、index.jsp文件:

?

?

<%@ taglib prefix="s" uri="/struts-tags" %><%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK">    <title>Showcase - Fileupload</title></head><body>    <h1>File Download Example</h1>    <ul>    <li>        <s:url var="url" action="download"/><s:a href="%{url}">Download Excel.</s:a>           The browser should prompt for a location to save the ZIP file.    </li>    </ul></body></html>
?

?

?

读书人网 >软件架构设计

热点推荐