在《struts2权威指南 》(原来买过的一本书,由于时间关系,一直未看完 第204页)
第六章中6.4节,关于“文件下载”中,讲对文件下载的权限设制时
对于如下两句
//指定被下载文件的位置
<param name="inputPath">\images\中.gif</param>
//指定文件下载的文件名
<param name="contentDisposition">filename="struts.gif"</param>
这两句是固定写死了下载文件的位置,只为\images\中.gif,且,生成的文件名最后命名只为struts.gif,而实际查询的时候,我们可能得到如100行记录,每一行记录的最右面都有一个下载的文件名,而且文件名都会各不相同,而且,可能文件名没有什么规律,那么下面的<param name="inputPath">\images\中.gif</param>该如何动态设置对应下载的文件名呢?这里用动态Action好象是不太适用的
有点不解,特来请教各位高手了复制内容到剪贴板
代码:
<result name="success" type="stream">
<param name="contentType">image/gif</param>
<param name="inputName">targetFile</param>
<param name="contentDisposition">filename="struts.gif"</param>
<param name="bufferSize">4096</param>
</result>复制内容到剪贴板
代码:
<?xml version="1.0" encoding="GBK"?>
<!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.custom.i18n.resources" value="globalMessages"/>
<constant name="struts.i18n.encoding" value="GBK"/>
<package name="lee" extends="struts-default">
<default-action-ref name="download"/>
<action name="download" class="lee.FileDownloadAction">
<param name="inputPath">\images\中.gif</param>
<result name="success" type="stream">
<param name="contentType">image/gif</param>
<param name="inputName">targetFile</param>
<param name="contentDisposition">filename="struts.gif"</param>
<param name="bufferSize">4096</param>
</result>
</action>
<action name="download2" class="lee.AuthorityDownAction">
<param name="inputPath">\images\struts-gif.zip</param>
<result name="success" type="stream">
<param name="contentType">application/zip</param>
<param name="inputName">targetFile</param>
<param name="contentDisposition">filename="struts-gif.zip"</param>
<param name="bufferSize">4096</param>
</result>
<result name="login">/input.jsp</result>
</action>
<action name="login" class="lee.LoginAction">
<result>/stuts2Down.html</result>
</action>
</package>
</struts>[
本帖最后由 crazyit 于 2010-1-20 12:51 编辑 ]