【问题标题】:Setting a string parameter inside struts.xml action from a properties file在属性文件的 struts.xml 操作中设置字符串参数
【发布时间】:2014-11-26 11:44:31
【问题描述】:

我一直在尝试实现允许用户下载具有特定文件名的文件的操作。这个filename 是通过通过struts.xml 向操作传递参数来设置的:

<result name="success" type="stream">
            <param name="contentType">application/octet-stream</param>
            <param name="inputName">input_document</param>
            <param name="contentDisposition">attachment;filename=foo.bar</param>
            <param name="bufferSize">1024</param>
</result>

我省略了其余的代码,因为我只想专注于此:

<param name="contentDisposition">attachment;filename=foo.bar</param>

这样它就可以完美运行,让您下载带有.bar 扩展名的foo 文件。

所以这就是交易,我很想知道是否可以从属性文件中检索扩展名并通过参数传递它,例如,像这样:

<param name="contentDisposition">attachment;filename=foo%{+ getText("EXTENSION_KEY_IN_PROPERTIES_FILE")}</param>

我知道getText("...") 不起作用,但我只想让您了解我在寻找什么。

我目前正在使用一些用于全局参数和本地化内容的属性文件,所以如果我可以从其中一个中检索此文件扩展名,那就太好了。

【问题讨论】:

    标签: java parameters struts2 download ognl


    【解决方案1】:

    如果您的操作实现了TextProvider,它应该可以工作

    <param name="contentDisposition">attachment;filename=foo${getText('EXTENSION_KEY_IN_PROPERTIES_FILE')}</param>
    

    【讨论】:

    • 好吧,看来问题是我没有正确地将属性文件添加到项目资源中......当我这样做时,它就像一个魅力。 @Roman 那 代表什么?谢谢你:)
    • 它与使用xml解析器在解析文档时省略的特殊字符的文本一起使用。我从答案中删除了它们。
    • 哦,好的,我会接受您的回答,因为您很好地指出 TextProvider 必须由操作实现。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 2019-03-20
    • 1970-01-01
    • 2011-08-26
    相关资源
    最近更新 更多