Wicket 中的动态标记

发布于 2024-08-18 09:50:55 字数 108 浏览 1 评论 0原文

是否可以动态生成 MarkupContainer 标记,即无需为其存储 HTML 文件?

我考虑过从数据库中将标记作为纯字符串读取,以提供类似 CMS 的功能。

Is it possible to generate the markup for a MarkupContainer dynamically, i.e. without storing an HTML file for it?

I thought about reading the markup as a plain string from the database to offer CMS-like functionality.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情绪少女 2024-08-25 09:50:55

有趣的问题,我不确定是否可能,但我的猜测是开始查看 IMarkupLoaderIMarkupResourceStreamProvider 接口和实现类,看看您离那里有多远。
我对您发现/实现的任何能真正完成此任务的东西感兴趣!

Interesting question and I'm not sure if it is possible, but my guess would be to start off looking at the IMarkupLoader and IMarkupResourceStreamProvider interfaces and implementing classes and see how far you get from there.
I'd be interested in anything you find / implement that actually gets this done!

柠檬 2024-08-25 09:50:55

另一种(更简单)的方法是使用禁用标记转义的标签:

Label<String> label = new Label<String>("id", "<a href='....'><span>foo<em>bar</em></span></a>");
label.setEscapeModelStrings(false);
add(label);

但要小心,因为这可能会导致安全漏洞(HTML/JS 注入)。

Another (simpler) way to do it would be to use a label with disabled markup escaping :

Label<String> label = new Label<String>("id", "<a href='....'><span>foo<em>bar</em></span></a>");
label.setEscapeModelStrings(false);
add(label);

Be careful though, as this might lead to security breaches (HTML/JS injection).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文