struts2文件下载,动态设置资源地址

转自:http://blog.csdn.net/ctrl_shift_del/article/details/6277340

1
ServletActionContext.getServletContext().getResourceAsStream("/"+tempfile); 

这是java加载资源的方法,所谓资源,实际上是任何一个文件,但特别的
是,getResourceAsStream这个方法不使用绝对路径,
而是使用相对于classpath环境变量的相对路径。


以,如果写:
 1
getResourceAsStream("/resource.xml");

则要保证classpath下有
resource.xml文件就能找到。

通常,开发环境下,src目录(也就是源代码所在的目录)是包含在classpath中的,

在tomcat下,classpath其一指向:WEB-INF/classes目录。

另:如需使用绝对路径则可使用方法:

1 public InputStream getVoiceFile() throws FileNotFoundException {
2 return new FileInputStream("D:/test.wav");
3 }

下面看一个完整的项目相关代码(struts2应用):

action 中的java 部分代码:


 1 public InputStream getVoiceFile() throws FileNotFoundException {
2
3
4 return new FileInputStream(this.getCurrentFileFullName());
5
6     //return ServletActionContext.getServletContext().getResourceAsStream(this.getCurrentFileFullName());
7   }
8
9     public String voice(){
10     return "voice";
11   }
12
13 }

struts.xml中部分代码:


1 <result name="voice" type="stream">
2 <!-- 下载文件类型 -->
3 <param name="contentType">audio/wav</param>
4 <param name="inputName">inputStream</param>
5 <!-- 下载的InputStream流,Struts2自己动对应Action中的getVoiceFile方法,该方法必须返回InputStream 类型 -->
6 <param name="inputName">voiceFile</param>
7 <param name="bufferSize">2048</param>
8 </result>

jsp页面部分代码:


1 <s:iterator value="voiceList" status="index" id="fielInfo">
2   <tr>
3
4     <td><s:property value="fileName"/></td>
5     <td><embed src="Controller_voice.action?currentFileFullName=<s:property value="fileFullName" />" autostart=false /></td>
6
7   </tr>
8 </s:iterator>

struts2文件下载,动态设置资源地址,码迷,mamicode.com

时间: 2024-08-08 01:25:10

struts2文件下载,动态设置资源地址的相关文章

struts2文件下载 &lt;result type=&quot;stream&quot;&gt;

<!--struts.xml配置--> <action name="download" class="com.unmi.action.DownloadAction"> <result name="success" type="stream"><!--type 为 stream 应用 StreamResult 处理--> <param name="contentTy

spring security动态管理资源结合自定义登录页面

如果想将动态管理资源与自定义登录页面一起使用,最简单的办法就是在数据库中将登录页面对应的权限设置为IS_AUTHENTICATED_ANONYMOUSLY. 因此在数据库中添加一条资源信息. INSERT INTO RESC VALUES(1,'','URL','/login.jsp*',1,'') 这里的/login.jsp*就是我们自定义登录页面的地址. 然后为匿名用户添加一条角色信息: INSERT INTO ROLE VALUES(3,'IS_AUTHENTICATED_ANONYMOU

第 8 章 动态管理资源结合自定义登录页面

转载:http://www.mossle.com/docs/auth/html/ch008-db-login.html 第 8 章 动态管理资源结合自定义登录页面 如果想将动态管理资源与自定义登录页面一起使用,最简单的办法就是在数据库中将登录页面对应的权限设置为IS_AUTHENTICATED_ANONYMOUSLY. 因此在数据库中添加一条资源信息. INSERT INTO RESC VALUES(1,'','URL','/login.jsp*',1,'') 这里的/login.jsp*就是我

JMeter非GUI方式运行时动态设置线程组及传参

在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定运行多少次: 2.访问的目标地址变化了,端口也变化了,需要重新指定. 上面的需求如果有GUI方式运行,这都不是问题,直接在脚本上进行修改即可以了. 但是性能测试自动化是以非GUI方式运行的,如果要修改测试计划就比较麻烦了. 下面来说说如何简单的搞定这些问题: 1.指定运行多少线程   我们知道JMeter测试计划在运行Sampler之前先加载运行属性(jmeter.properties,system.prope

easyui表单多重验证,动态设置easyui控件

要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最开始的验证代码如下: 1 //学号格式只能为数字 ****//这里没有问题**** 2 number: {//value值为文本框中的值 3 validator: function (value) { 4 var reg = /^[0-9]*$/; 5 return reg.test(value);

Struts2文件下载&lt;*&gt;servlet-api的方式文件下载

Struts2文件下载 1 public class DownLoadAction extends ActionSupport{ 2 3 private static final long serialVersionUID = 1L; 4 //要下载的文件名 5 private String filename; 6 public String getFilename() { 7 return filename; 8 } 9 public void setFilename(String filen

RHEL7设置IP地址、网关和DNS

█网卡命名格式:enoxxxxx en:代表enthernet(以太网) o:代表onboard(内置) xxxxx:是主板的某种索引编号自动生成,以便保证其唯一性 ●方法1:进入网络配置文件,修改网卡配置文件 TYPE="Ethernet|Bridge"    #网络接口类型 BOOTPROTO="static|none"    #启动静态IP地址(BOOTPROTO=dhcp启用动态获取IP) DEFROUTE="yes" IPV4_FAIL

android 用java动态设置布局(增添删除修改布局)

XML对开发者来说十分的方便,不仅使用起来简单,而且能够及时调试,修改界面之后马上能看到效果. Java设置布局不具有这个优势.但是java却可以动态对布局进行操作,这是xml所做不到的.笔者认为,新手索要掌握的java动态设置布局主要有两点,一方面是对布局的属性进行修改,另一方面是增添和删除控件. 首先说一下动态设置布局在项目中的应用,拿高德地图举个例子,如下图:    我们可以看到,高德地图的默认界面与点击地图之后的界面是不一样的,上面同样的控件在layout中的位置也不一样,这个用xml便

设置 IP 地址

一.NAT 模式 (1) 虚拟机设置为 NAT 模式(2) 编辑网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(3) 动态获取 IP 地址:dhclient(4) 查看 IP 地址:ifconfig(5) 测试 IP 地址:ping www.baidu.com 二.桥接模式 (1) 虚拟机设置为桥接模式(2) 编辑网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(3) 重启网络服务:service