Struts 2下载-如何动态配置文件名?

2024-03-25

我正在开发一个应用程序,人们可以将所需的文件从数据库中提到的位置下载到本地。我正在使用 struts 2 从服务器下载文件。我可以毫无例外地下载该文件,并且运行完美。 但是下载的文件具有我在 struts.xml 中指定的文件名,我希望它是正在下载的确切文件名。例如,如果原始文件名是 struts.pdf ,我将其下载为 download.pdf ,如何防止它并使用实际文件名下载文件

我的struts.xml配置如下,

<action name="download" class="action.DownloadAction">
        <result name="success" type="stream">
            <param name="contentType">application/octet-stream</param>
            <param name="inputName">fileInputStream</param>
            <param name="contentDisposition">attachment;filename="download.log"</param>
            <param name="bufferSize">1024</param>
        </result>
        <result name="error">/live/useradminerror.jsp</result>
    </action> 

我忘了提到我正在使用 struts2-jquery 来开发 UI。请帮助我,因为我正处于项目的非常关键阶段。


如果我是正确的,您想要传递存储在数据库中的文件,如果是这种情况,您可以通过传递操作类中的所有这些参数来轻松完成此操作,例如

class MyFileDownloadAction extends ActionSupport{

     private String fileName;
     // getter and setter

    public String fileDownload() throws exception{
      // file download logic
      fileName ="abc"  // can set name dynamic from DB
   }

}

<action name="download" class="action.DownloadAction">
        <result name="success" type="stream">
            <param name="contentType">application/octet-stream</param>
            <param name="inputName">fileInputStream</param>
            <param name="contentDisposition">attachment;filename="${filename}"</param>
            <param name="bufferSize">1024</param>
        </result>
        <result name="error">/live/useradminerror.jsp</result>
    </action> 

您可以在 struts.xml 类中动态传递每个参数。希望这对您有帮助 这是您在 XML 中使用此文件名的方式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts 2下载-如何动态配置文件名? 的相关文章

  • 正确使用 JDBC 连接池 (Glassfish)

    我需要在 Java Web 服务中作为会话 bean 实现数据库连接 但我不确定我这样做是否正确 我创建了一个类 public final class SQLUtils private static DataSource m ds null
  • 使用 JQuery 选择表行并选中复选框

    我有一个表 我想选择满足我的条件的行并选中它们各自的复选框 假设我想获取带有日期的行2013 03 21 我怎样才能使用 JQuery 来做到这一点 table tr td Record1 td td 2013 03 21 td td td
  • jQuery 验证日期范围问题

    我的代码中有很多地方有成对的相关开始和结束日期字段 范围 我需要验证开始日期早于结束日期 我正在使用 jQuery 验证插件 这是我的代码 http jsfiddle net jinglesthula dESz2 http jsfiddle
  • Java 唤醒休眠线程

    我阅读了其他帖子 但没有找到我正在寻找的确切答案 所以我希望有人能给出一些澄清 我有一个将运行一段时间的程序 我有一些在后台运行的线程来执行各种任务 为了简单起见 让我们考虑 3 个线程 ThreadA每 10 秒执行一次任务 其中Thre
  • SimpleDateFormat 将 lenient 设置为 false 时出现异常

    为什么这段代码会抛出无法解析日期的异常 SimpleDateFormat f new SimpleDateFormat yyyy MM dd T HH mm ss 000Z f setLenient false String dateStr
  • 不要模拟值对象:过于通用的规则,没有解释

    以下是 Mockito 单元测试框架的引用 不要模拟值对象 为什么有人会想要这样做呢 因为实例化对象太痛苦了 gt 无效 原因 如果创造新的装置太困难 那就是一个迹象 代码可能需要一些认真的重构 另一种方法是创建 价值对象的构建者 有一些工
  • Java:使用 Java.util.concurrent 线程访问读取线程串行端口

    我正在尝试编写一个 Java 串行设备驱动程序并想使用 对我来说是新的 java util concurrent包裹 我有一种发送数据包然后等待 ACK 的方法 我打算有炭 接收在不同的线程中运行 如果接收线程收到 ACK 它应该使用发送数
  • JavaScript:从 JavaScript 调用锚标记的点击事件

    我有一个带有锚标记的页面 在我的 JavaScript 中 我设置HREF锚标记的属性基于一些 if else 条件动态变化 现在我想以编程方式调用锚标记的单击事件 我使用了下面的代码 但没有成功 var proxyImgSrc CostM
  • 如何使用 jQuery 通过 Ajax 发送复选框数组的值?

    我有一个包含很多表单字段的表单 12 x n 行 每行中的第一个字段 代表产品 是一个类似于以下内容的复选框
  • 如何使用 Guava 连接字符串?

    我写了一些代码来连接字符串 String inputFile for String inputLine list inputFile inputLine trim 但我不能使用 连接 所以我决定使用 Guava 所以我需要使用Joiner
  • 在Java中多次读取System.in会导致IOException?

    我正在尝试创建一个小命令行游戏来强化我在过去几个月中在 Java 中学到的一些东西 我正在尝试创建一个名为 readInput 的方法 它返回一个我可以一次又一次调用的字符串 第一次它工作正常 但第二次它会导致 IO Exception 如
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 战争库中的罐子爆炸

    我们可以将分解的 jar 文件放入 war web inf 库中吗 它在 JBOSS 4 2 中对我不起作用 我收到以下错误并且无法部署应用程序 Caused by javax management RuntimeOperationsExc
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • 由于固定导航,增加了 FancyBox v2 的顶部和底部边距

    我目前正在开发一个网站 该网站将来将具有响应能力 该网站主要由图像组成 单击这些图像会加载到 FancyBox 中 FancyBox v2 现在具有响应能力 因此可以在屏幕尺寸发生变化时重新调整图像等的大小 作为我设计的一部分 我有两个固定
  • HTML 和 JavaScript - 将滚动操作从一个元素传递到另一个元素

    假设我有两个 div div div div A scrollable list div 我想让它当光标停在里面时 control并且鼠标滚轮滚动 view将会滚动 无论如何要实现这一目标 好的 快速修复对我有用 即使固定 div 不可滚动
  • Google Place Api:来自此 Android 客户端应用程序 com.package.name 的请求被阻止

    我在用PlaceAutocompleteFragment当我单击搜索字段 PlaceAutocompleteFragment 对话框消失时 我收到此错误 errors domain global re ason forbidden mess
  • 如何模板化 Select2 的预选值

    我预先选择的值Select2 https select2 org如下所示 function formatState state console log state text2 I found undefined here console l
  • Google Cloud Messaging - 立即收到或长时间延迟收到的消息

    我在大学最后一年的项目中使用谷歌云消息传递 一切正常 但我在使用 GCM 时遇到了一些麻烦 通常 消息要么几乎立即传递 要么有很大的延迟 我读过这篇文章 但我真的认为它不适用于这种情况 GCM 通常会在消息发送后立即传送消息 然而 这并不总
  • Integer.parseInt 引发的 NumberFormatException

    嘿 我在学校上编码课 但老师没有很好地解释 所以我们必须在网上查找我所做的信息 但我无法找到代码中的错误 你能帮我吗 char end s do System out println Tipo de boleto char boleto c

随机推荐

  • android 无法打开文件进行读取

    您好 我创建了我的第一个 Hello World 应用程序 并按照以下说明进行操作 发布在developer android上 但是当我连接我的索尼xperia s时 启用调试并运行我的应用程序 我在 logcat 错误中看到说 E 444
  • 如何在 CentOs 中安装 php-xml

    我正在尝试在 CentOs 6 5 上安装 php xml 我输入命令yum install php xml 我收到此错误 Loaded plugins fastestmirror Loading mirror speeds from ca
  • maven(在开发配置文件下运行)如何包含index.html中的javascript文件?

    从 2 0 版开始我就没有使用过 jhipster 目前我正在追赶版本 4 0 6 当我尝试通过 mvnw 构建初始应用程序时 默认情况下devmaven 配置文件 从命令行 应用程序 javascript 文件不会添加到 index ht
  • 引用 dll 而不复制它们 C#

    当我们创建一个新的C 项目并引用一个dll时 该dll在编译项目时会被复制到项目的输出目录中 有没有一种方法可以引用 dll 文件而不将它们复制到项目的输出目录 并让可执行文件在运行时使用它们 类似于Assemblies如果我没错的话 我尝
  • AWS CDK 将 API 网关 URL 传递到同一堆栈中的静态站点

    我正在尝试在单个堆栈中部署 S3 静态网站和 API 网关 lambda S3 静态站点中的 JavaScript 调用 lambda 来填充 HTML 列表 但它需要知道 lambda 集成的 API 网关 URL 目前 我生成一个 Re
  • 如何强制视图刷新而不从可观察对象自动触发它?

    Note 这主要是为了调试和理解 KnockoutJS 有没有办法显式请求 Knockout 从 已绑定 视图模型刷新视图 我正在寻找类似的东西 ko refreshView 我知道这不是 Knockout 的预期用途 但我仍然想知道是否有
  • android studio 使用 build.gradle 进行地址清理

    我正在尝试使用此处描述的地址清理程序 使用 clang 构建我的应用程序 https github com google sanitizers wiki AddressSanitizer https github com google sa
  • 获取HashMap值的count个数

    使用这里的代码link https stackoverflow com questions 37129625 read and find string from text file将文本文件内容加载到 GUI Map
  • 谷歌分析用户 ID 跟踪

    我通过通用分析实现了 userID 跟踪 ga set uid 我认为我应该能够在报告中看到特定用户 但似乎甚至不可能在任何类型的报告中显示不同的用户 我在分析 API 中也没有找到这个选项 我希望能够跟踪该特定用户创建的事件 是否可以在不
  • 如何重命名 git stash?

    我有一个名称不正确的藏品 我想修正这个名称 使其准确 如何重命名藏匿处 让我们假设您的存储列表如下所示 git stash list stash 0 WIP on master Add some very important feature
  • 如何使用 Astro 获取查询字符串参数

    我正在使用一种名为 Astro 的新技术 https astro build https astro build 构建一个完全静态的服务器端渲染页面 交付零 JS 我有一个带有简单文本输入表单的页面 当用户填写该表单并单击提交按钮时 它会向
  • gpus_ReturnGuiltyForHardwareRestart

    我找到了有关该错误的更多详细信息 它似乎与信息有关 gpus ReturnGuiltyForHardwareRestart google了一下 似乎关于这个bug的信息相当有限 您以前遇到过这种情况并且知道如何解决吗 我认为我有必要更新我所
  • 下载并解压内存中的 gzip 文件?

    我想使用 urllib 下载文件并在保存之前将文件解压缩到内存中 这就是我现在所拥有的 response urllib2 urlopen baseURL filename compressedFile StringIO StringIO c
  • 将会话从模板视图传递到 python 请求 api 调用

    我想使用请求库从 Django TemplateView 进行多个内部 REST API 调用 现在我也想将会话从模板视图传递到 api 调用 考虑到性能 推荐的方法是什么 现在我正在提取cookie从目前的request模板视图中的对象
  • 将 C 字节数组转换为 long long

    我的应用程序中有一个 8 字节数组 其中包含以下数据 00000133339e36a2 该数据代表一个长整型 在写入数据的平台上 在 Mac 上这将是一个长整型 其值为 1319420966562 在实际应用中 这是一组半随机的数据 因此数
  • D3 弧形端部 V 形

    我画了一个arc https github com d3 d3 shape arcs使用 D3 js 默认情况下具有方形末端 var arc d3 arc innerRadius 0 outerRadius 100 startAngle 0
  • 文件包含路径分隔符。

    当我尝试检查特定文件是否存在时 我得到java lang illegalArgumentException File contains a path separator 使用 getFileStreamPath 执行此操作的正确方法是什么
  • Laravel 按字段长度排序

    我想构建一个按特定字段长度对数据进行排序的查询 我需要将此查询重写为 laravel 的 Eloquent ORM SELECT FROM table ORDER BY CHAR LENGTH field 看起来orderByRaw这就是您
  • 有人有使用 OpenCV 和 python 进行描述符提取的示例吗?

    我正在尝试使用 OpenCV 从图像中提取 SURF 描述符 我正在使用 OpenCV 2 4 和 Python 2 7 但很难找到任何提供有关如何使用这些函数的信息的文档 我已经能够使用以下代码来提取特征 但我找不到任何明智的方法来提取描
  • Struts 2下载-如何动态配置文件名?

    我正在开发一个应用程序 人们可以将所需的文件从数据库中提到的位置下载到本地 我正在使用 struts 2 从服务器下载文件 我可以毫无例外地下载该文件 并且运行完美 但是下载的文件具有我在 struts xml 中指定的文件名 我希望它是正