Простой способ использовать параметризованные сообщения пользовательского интерфейса в Wicket?
Калитка имеетгибкая система интернационализации это поддерживает параметризацию сообщений пользовательского интерфейса во многих отношениях. Есть примеры, например вStringResourceModel javadocs, такой как этот:
WeatherStation ws = new WeatherStation();
add(new Label("weatherMessage", new StringResourceModel(
"weather.${currentStatus}", this, new Model<String>(ws)));
Но я хочу чего-то действительнопростои не смог найти хороший пример этого.
Рассмотрим этот вид сообщения пользовательского интерфейса в файле .properties:
msg=Value is {0}
В частности, я не хотел бы создавать объект модели (с геттерами для заменяемых значений; как WeatherStation в приведенном выше примере) только для этой цели. Это просто излишне, если у меня уже есть значения в локальных переменных, и в противном случае нет необходимости в таком объекте.
Вот глупый способ "грубой силы" заменить {0} на правильное значение:
String value = ... // contains the dynamic value to use
add(new Label("message", getString("msg").replaceAll("\\{0\\}", value)));
Есть ли чистый, более Wicket-y способ сделать это? (это не намного дольше, чем выше)?