编程语言
首页 > 编程语言> > java – Wicket:如何以编程方式呈现页面并将结果作为字符串?

java – Wicket:如何以编程方式呈现页面并将结果作为字符串?

作者:互联网

我正在将应用程序转换为在其所有页面上使用i18n / l10n.我对Wicket对此的支持感到非常满意,到目前为止一切顺利.我遇到的一个棘手问题是:

我们有一个文本文件,用作HTML模板,用于在用户在网站上执行某项操作时发送电子邮件.当用户点击特定链接时,我手动读取此模板,执行一些文本替换,例如“亲爱的$USERNAME”,并将结果作为HTML电子邮件发送给用户.

为了支持我们目标的10种左右的语言,我要么必须维护这个模板文件的10个副本,要么想办法使用Wicket的内置i18n支持渲染这个“页面”,抓住结果作为字符串,然后发送它.

因此我的问题是:如何以编程方式“呈现”Wicket页面并将结果作为字符串?

如果可能的话,我宁愿避免像使用HttpClient这样的黑客攻击; HttpClient不会有用户的Locale,也不会以用户等身份自动登录,这对我来说似乎不是一个好的解决方案.

解决方法:

关于此的两篇文章:

Render a Wicket page to a string for HTML email

Rendering Panel to a String

目前唯一的另一种方法是使用WicketTester,但我不记得如何做到这一点的细节.

标签:java,wicket,internationalization
来源: https://codeday.me/bug/20190929/1830458.html