我有一些从数据库中提取的文本,必须向用户显示。每个文本都有一些指向我需要呈现的其他文本的链接。链接是动态的,这意味着我无法事先知道这些链接中有多少会被呈现(以及在文本中的位置)。举个简单的例子:
T1 这是文本 LINK1 的第一个示例,可以让 LINK2 简要了解我的问题
T2 这是我的问题 LINK4 的另一个 LINK3 示例,任何人都可以帮助 LINK5 吗?
在 Wicket 中执行此操作的最佳方法是什么?没有预先准备好的标记?
A) 只是不要使用 Wicket,使用任何你喜欢的模板解决方案(看看 VelocityPanel)。
B)如果您的链接在您的文本中已经是最终的,请使用 SmartLinkMultilineLabel
您可以按照 svenmeier 的建议使用SmartLinkLabel 。
如果您的链接已经作为超链接出现在文本中,您可以直接使用它。如果您需要对链接进行后处理,您可以提供自定义LinkParser:
@Override
protected ILinkParser getLinkParser() {
final LinkParser parser = new LinkParser();
return parser.addLinkRenderStrategy(YOUR_PATTERN, new ILinkRenderStrategy() {
@Override
public String buildLink(final String linkTarget) {
// build the link from the target matched by the pattern
}
});
}