使用<wicket:message>标签生成部分格式化的文本

Jon*_*nik 6 wicket

我在wicket:message 这里读过,但似乎无法让它做我想做的一切.

假设我有一个HTML页面,<wicket:message key="text"/>其中包含一个属性文件text=Blah blah: important point, foo bar.我想知道如何将文本的一部分加粗(或对其应用任意CSS),以实现如下输出:

Blah blah:重要一点,foo吧

请注意,这些都不是动态的,所以如果可以避免,我不想在Java中做任何事情.

我试过用以下类似的东西嵌套标签,但没有运气.

<wicket:message key="text">
    <span class="bold"><wicket:message key="text2"/></span>
</wicket:message>

text=Blah blah: ${text2}, foo bar
text2=important point
Run Code Online (Sandbox Code Playgroud)

这是否有可能在Wicket中没有1)从Java端注入格式化部分或2)只是将文本分成(在这种情况下)三个不同的属性?

Daa*_*aan 4

最简单的方法是将标签放入本地化文件中:

text=Blah blah: <strong>text2</strong>, foo bar

您还可以稍后使用 Label 和 ResourceModel 来替换它:

text=Blah blah: [b]text2[/b], foo bar

在您的模型 getObject() 或您的标签中:

string.replace("[b]", "<strong>");
string.replace("[/b]", "</strong>");

或者,更好的是,尝试在标签中重用 Markdown 实现。