关于下载

在struts中关于下载实例如下:

public class FirstAjaxAction {
  public void ajaxTest() throws IOException{
    // ServletActionContext.getRequest();
    // ServletActionContext.getRequest().getSession();
    // ServletActionContext.getServletContext();
    HttpServletResponse response = ServletActionContext.getResponse();
    PrintWriter out = response.getWriter();
    out.write("ceshi ajax!!!");
    out.flush();
    out.close();
  }
}

public class SecondAjaxAction {  //必须掌握
  private InputStream inputStream;
  public String ajaxTest() throws IOException{
  inputStream = new ByteArrayInputStream("你好ajax!!!".getBytes("utf-8"));
  return "ajaxTest";
  }
  public InputStream getInputStream() {
    return inputStream;
  }
  public void setInputStream(InputStream inputStream) {
    this.inputStream = inputStream;
  }
}

/*
* 步骤:
* 1:copy jar 包 struts2-json-plugin-2.2.1.1.jar
*/
public class ThirdAjaxAction {
  private String name;
  private List<Person> personList;
  public String ajaxTest(){
    Person p1 = new Person(1,"张三");
    Person p2 = new Person(2,"李四");
    personList = new ArrayList<Person>();
    personList.add(p1);
    personList.add(p2);
    return "ajaxTest";
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public List<Person> getPersonList() {
    return personList;
  }
  public void setPersonList(List<Person> personList) {
    this.personList = personList;
  }
}

public class DownLoadAction {   //必须掌握    jsp 页面有个<a  id="a2"  href="downLoadAction">测试 下载</a>就可以咯
  private InputStream inputStream;
  private String fileName;
  public String downLoadFile() throws FileNotFoundException{
    fileName ="1511学生信息表.xlsx";
    String realPath = ServletActionContext.getServletContext().getRealPath("resources/1511学生信息表.xlsx");
    inputStream = new FileInputStream(realPath);
    return "download";
  }
  public String getFileName() throws UnsupportedEncodingException {
    return new String(fileName.getBytes("utf-8"),"iso-8859-1");
  }
  public void setFileName(String fileName) {
    this.fileName = fileName;
  }

  public InputStream getInputStream() {
    return inputStream;
  }

  public void setInputStream(InputStream inputStream) {
    this.inputStream = inputStream;
  }
}

struts-xml的配置信息:

<struts>
  <package name="default" namespace="/" extends="json-default">
    <action name="firstAjaxAction" class="com.chdsxt.s2.action.FirstAjaxAction" />
    <action name="secondAjaxAction" class="com.chdsxt.s2.action.SecondAjaxAction" >
      <result name="ajaxTest" type="stream">
      <!-- 此param匹配action内InputStream 类型的属性名,如果名字就是inputStream 则此元素可以省略<param name="inputName">inputStream</param>
      -->
      </result>
    </action>
    <action name="thirdAjaxAction" class="com.chdsxt.s2.action.ThirdAjaxAction" >
      <result name="ajaxTest" type="json"></result>
    </action>
    <action name="downLoadAction" class="com.chdsxt.s2.action.DownLoadAction" method="downLoadFile" >
      <result name="download" type="stream" >
        <param name="contentDisposition">attachment; filename=${fileName}</param>
      </result>
    </action>
  </package>
</struts>

时间: 2024-10-16 08:11:33

关于下载的相关文章

Python学习1-Python和Pycharm的下载与安装

本文主要介绍Python的下载安装和Python编辑器Pycharm的下载与安装. 一.Python的下载与安装 1.下载 到Python官网上下载Python的安装文件,进入网站后显示如下图: 网速访问慢的话可直接在这里下载:python-2.7.11.amd64 在Downloads中有对应的支持的平台,这里我们是在Windows平台下运行,所以点击Windows,出现如下: 在这里显示了Python更新的所有版本,其中最上面两行分别是Python2.X和Python3.X对应的最后更新版本

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

下载-深入浅出Netty源码剖析、Netty实战高性能分布式RPC、NIO+Netty5各种RPC架构实战演练三部曲视频教程

下载-深入浅出Netty源码剖析.Netty实战高性能分布式RPC.NIO+Netty5各种RPC架构实战演练三部曲视频教程 第一部分:入浅出Netty源码剖析 第二部分:Netty实战高性能分布式RPC 第三部分:NIO+Netty5各种RPC架构实战演练

下载Java8实战视频教程

1.15套java架构师,高并发,分布式,集群,大型分布式综合项目实战详情:https://my.oschina.net/java168/blog/863547 2.36套精品Java高级课及架构课,亿级流量,P2P金融,第三方支付,设计模式实战,程序调优,系统设计:https://my.oschina.net/java168/blog/1539323 下载Java8实战视频教程

Windows下MySQL下载安装、配置与使用

用过MySQL之后,不论容量的话,发现比其他两个(sql server .oracle)好用的多,一下子就喜欢上了.下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤. (我这个写得有点太详细了,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路.当然,知道同学的可以略过,选择你想知道的地方看) 第一大步:下载.(不需要注册也可以下载,直接点下面的no thanks) a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是

Java企业微信开发_09_素材管理之下载微信临时素材到本地服务器

一.本节要点 1.获取临时素材接口 请求方式:GET(HTTPS) 请求地址:https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID 2.获取临时素材接口的返回结果 企业微信官方开发文档中说明的返回结果如下: 若你以为这就是返回结果,然后跟之前一样,先访问接口,从http连接的输入流中的获取回结果的文本内容,你会发现你接收到的结果是一堆乱码. 这是为何? 以图片为例,此处千

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

【资源共享】《Camera_for_RockChipSDK参考说明_v4.1》下载

关于摄像头调试的文档<Camera_for_RockChipSDK参考说明_v4.1> 下载地址:http://developer.t-firefly.com/thread-12429-1-1.html

嵌入式C语言全套视频教程云盘下载!

了解过嵌入式开发的朋友们都有一定的了解,语言是学习嵌入式开发必须具备的工具语言,学好C语言基础可以更好的学习嵌入式开发.今天在这里给大家分享一个嵌入式C语言全套视频教程,需要的朋友可以下载来看看! 课程目录部分截图: 百度云盘下载:http://pan.baidu.com/s/1c1OETIo 密码:cgcj

MySql Jar 包下载

MySql JAR 包下载 我们要使用Spring 链接MySql  需要两个Jar 包   一个是C3p0   一个是MySql 的Connection Jar  包 C3p0: 进入下面的网址 http://www.mchange.com/projects/c3p0/ 按照黄色的指示  下载 2. MySql Jar 包 进入MySql 官网 https://dev.mysql.com/downloads 选择需要的Jar 包  下载   解压