Подтвердить что ты не робот

JSTL Core fmt: message Tag Динамическое сообщение с использованием файла bundle/properties

Я понимаю использование стандартного тега fmt:message. Мы определяем что-то подобное в JSP:

<fmt:setBundle basename="ResourceBundles.ValidationErrorMessages" var="errorMessages" />
<fmt:message key="${error.value}" bundle="${errorMessages}" />

Предположим, что error.Value = "MQ2009"

Мой файл свойств с именем "ValidationErrorMessages" имеет следующую запись

MQ2009 = MQ time out

Теперь мое требование - иметь что-то вроде

MQ2009 = Mq timeout happened for message {messagename}.

Могу ли я определить динамику messagename динамически? I.e во время выполнения messagename будет доступно в области запроса, и его следует заменить в файле свойств.

Как я могу это сделать? Нужен ли мне специальный тег или Java EE предоставляет эту функцию, о которой я не знаю?

4b9b3361

Ответ 1

Вы можете определить такие свойства, как

MQ2009 = Mq timeout happened for {0}

а затем

<fmt:message key="MQ2009" var="val" >
   <fmt:param value="${valueComingFromSomeParameter}"/>
</fmt:message>

а затем

<c:out value="${val}"/>

Ответ 2

В файле свойств

MQ2009 = Mq timeout happened for message {0}

Затем вы можете вставить тег <fmt:param value="${messagename}"/> с тегом <fmt:message, где messagename находится в области запроса.