我一直在尝试实现一个允许用户下载具有特定文件名的文件的操作。通过以这种方式将参数传递给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>
这样就可以很好地运行,并允许您下载foo
扩展名为.bar
的文件。
所以这就是交易,我很想知道是否可以从属性文件中检索扩展并将其传递给参数,例如,如下所示:
<param name="contentDisposition">attachment;filename=foo%{+ getText("EXTENSION_KEY_IN_PROPERTIES_FILE")}</param>
我知道getText("...")
不起作用,但我只是想让你明白我在寻找什么。
我目前正在使用一些属性文件来处理全局参数和本地化内容,所以如果我可以从其中一个文件扩展名中检索此文件扩展名,那就太棒了。
答案 0 :(得分:1)
如果您的操作实现TextProvider
<param name="contentDisposition">attachment;filename=foo${getText('EXTENSION_KEY_IN_PROPERTIES_FILE')}</param>