Вопрос

Если у меня есть файл свойств пакета ресурсов:

А.свойства:

thekey={0} This is a test

И затем у меня есть код Java, который загружает пакет ресурсов:

ResourceBundle labels = ResourceBundle.getBundle("A", currentLocale);
labels.getString("thekey");

Как заменить текст {0} каким-либо значением

labels.getString("thekey", "Yes!!!");

Таким образом, вывод получается как:

Yes!!! This is a test.

Для этого в Resource Bundle нет методов.Кроме того, я нахожусь в Struts, есть ли способ использовать MessageProperties для замены.

Это было полезно?

Решение

Класс, который вы ищете, — java.text.MessageFormat;конкретно, звоню

MessageFormat.format("{0} This {1} a test", new Object[] {"Yes!!!", "is"});

или

MessageFormat.format("{0} This {1} a test", "Yes!!!", "is");

вернется

"Yes!!! This is a test"

[К сожалению, с подключением Struts помочь не могу, хотя этот выглядит актуальным.]

Другие советы

есть класс org.apache.struts.util.MessageResources с различными методами getMessage некоторые из них принимают аргументы для вставки в фактическое сообщение.

Например.:

messageResources.getMessage("thekey", "Yes!!!");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top