Установка строкового параметра внутри действия struts.xml из файла свойств

Я пытался реализовать действие, которое позволяет пользователю загружать файл с определенным именем. Это 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("...") не сработает, но я просто хочу, чтобы вы поняли, что я ищу.

В настоящее время я работаю с некоторыми файлами свойств для глобальных параметров и локализации, поэтому было бы здорово, если бы я мог получить это расширение файла из одного из них.


person JorgeGRC    schedule 26.11.2014    source источник


Ответы (1)


Это должно работать, если ваше действие реализует TextProvider

<param name="contentDisposition">attachment;filename=foo${getText('EXTENSION_KEY_IN_PROPERTIES_FILE')}</param>
person Roman C    schedule 26.11.2014
comment
Ну, похоже, проблема заключалась в том, что я не добавил файл свойств в ресурсы проекта должным образом... работал как шарм, когда я это сделал. @Roman Что означает ‹![CDATA[]› ?? Спасибо :) - person JorgeGRC; 26.11.2014
comment
Он используется с текстом, который использует специальные символы, пропущенные синтаксическим анализатором xml при анализе документа. Я удалил их из ответа. - person Roman C; 26.11.2014
comment
О, хорошо, я приму ваш ответ, поскольку вы хорошо указываете, что TextProvider должен быть реализован действием. Спасибо - person JorgeGRC; 26.11.2014