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

1

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

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

Теги:
struts2
parameters
download
ognl

1 ответ

1
Лучший ответ

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню