回答
有趣的问题,我不确定是否有可能,但我的猜测是开始寻找IMarkupLoader和IMarkupResourceStreamProvider接口和实现类,并看看你有多远。
我会对任何你找到/实现的东西感兴趣,它实际上完成了!
感谢您的提示。那样做了! MarkupContainer必须实现'IMarkupResourceStreamProvider'及其方法'getMarkupResourceStream()'。此外,您还创建了一个从“AbstractResourceStream”派生(例如)的类。在那里,你可以实现一个只返回一个'InputStream'的方法。 'getMarkupResourceStream()'然后只返回这个新类的一个实例。 javadoc说这对缓存甚至是透明的。 – Wolfgang 2010-01-18 15:38:19
这在参考指南[17.5从代码生成HTML标记](http://wicket.apache.org/guide/guide/advanced.html#advanced_5)中有详细记录。 – aioobe 2015-01-17 22:32:49
另一个(简单)的方式来做到这一点是使用一个标签有残疾的标记转义:
Label<String> label = new Label<String>("id", "<a href='....'><span>foo<em>bar</em></span></a>");
label.setEscapeModelStrings(false);
add(label);
不过要小心,因为这可能会导致安全漏洞(HTML/JS注射)。
太棒了!我将使用JTexy轻量级标记语言(http://code.google.com/p/jtexy/)。 – 2010-01-23 03:54:04