在struts2框架下做下载功能

来源:互联网 发布:java 八皇后算法 编辑:程序博客网 时间:2024/05/20 06:52

1.JSP页面,功能只是点击下载

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>    <a href="download">点击此处下载</a>  </body></html>


2.点击后转到action类FileDownload.java


package cn.jbit.action;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action;public class FileDownload {private InputStream inputStream;private String fileName;public String getFileName() {return fileName;}public InputStream getInputStream() {return inputStream;}public String execute() {ServletContext context = ServletActionContext.getServletContext();String exe = context.getRealPath("/files/1.PNG");File file = new File(exe);this.fileName = file.getName();try {this.inputStream = new FileInputStream(file);} catch (FileNotFoundException e) {e.printStackTrace();}return Action.SUCCESS;}}


3.struts.xml的配置

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><package name="default" extends="struts-default" namespace="/"><action name="download" class="cn.jbit.action.FileDownload"><param name="contentType">application/octet-stream</param><param name="inputName">inputStream</param><param name="contentDisposition">attachment;filename="${fileName}"</param><result type="stream" /></action></package></struts>    






0 0
原创粉丝点击