калитка: ключи resourceproperty параметризации загружается с калиткой:сообщение
Мне нужно динамически изменять загруженные ключи через параметр. Представьте, что у вас есть 2 свойства, такие как
<entry key="property.to.load.somesuffix">value1</entry>
<entry key="property.to.load.anothersuffix">value2</entry>
Загрузка их на основе значений модели класса страниц может быть дополнена, например, stringresourcemodel типа
new StringResourceModel( "property.to.load.${pageParam.suffix}", this, new Model(pageModel))));
И добавление этой модели ресурсов в метку и отображение загруженного значения свойства в этой метке. но мне нужно отрисовать значение свойств как обычный текст html, как это делается с помощью тега wicket: message например, как
<wicket:message key="property.to.load.${pageParam.suffix}" />
Это, конечно, не работает. Есть какие-то решения для этого? Может быть, переопределить внутреннюю функциональность интерпретации тега wicket:message ?!
Править
Хотя рендеринг текста в метке выглядит очень хорошо, как указано ниже, и вы можете установить escapemodelstring, было бы полезно иметь возможность такого рода параметризации в теге wicket:message, а не добавлять метку для каждого ключа.
Эта проблема может быть большая проблема с точки зрения того, что вы не хотите иметь какой-либо специфический код java в вашей разметке, как имена конкретных методов модели в keyparameter. Таким образом, возникла бы также необходимость в обобщении этой техники. есть идеи, как это совместить?
2 ответа:
Может быть, вы все еще можете использовать свой
new StringResourceModel( "property.to.load.${pageParam.suffix}", this, new Model(pageModel))));
С меткой, которая не ускользает от HTML-тегов вашего свойства
add(new Label("label", "<strong>my html property</strong>").setEscapeModelStrings(false));
Я нашел хорошую статью, в которой описывается, как настроить поведение тега калитки или реализовать свой собственный.