2

我需要通过参数动态更改加载的键。想象一下,您将有 2 个属性,例如

<entry key="property.to.load.somesuffix">value1</entry>
<entry key="property.to.load.anothersuffix">value2</entry>

根据页面类模型的值加载这些可以完成,例如,使用类似的字符串资源模型

new StringResourceModel( "property.to.load.${pageParam.suffix}", this, new Model(pageModel))));

并将此资源模型添加到标签并在该标签中呈现属性的加载值。但我需要将属性值呈现为通常的 html 文本,因为它是通过使用 wicket:message 标签呈现的,例如

<wicket:message key="property.to.load.${pageParam.suffix}" />

当然,这不起作用。有什么解决方案吗?也许覆盖 wicket:message 标签解释的内部功能?!

编辑

尽管 Label 中的文本渲染似乎非常好,如下所述,并且您可以设置 escapemodelstring,但在 wicket:message 标记中进行这种参数化而不是为每个标签添加标签可能会很有用钥匙。

从这个角度来看,这个问题可能是一个大问题,您不希望在标记中包含任何 Java 代码特定的东西,例如键参数中的模型特定方法名称。因此,还需要对这种技术进行概括。有什么想法可以实现吗?

4

2 回答 2

2

也许你仍然可以使用你的

new StringResourceModel( "property.to.load.${pageParam.suffix}", this, new Model(pageModel))));

带有不会转义您的属性的 HTML 标记的标签

add(new Label("label", "<strong>my html property</strong>").setEscapeModelStrings(false));
于 2012-03-31T15:21:17.727 回答
0

我找到了一篇很好的文章,它描述了如何自定义检票口标签的行为或实现自己的行为。

于 2012-05-18T10:14:39.743 回答