如何为我的表单组件正确创建国际化标签,以便在显示反馈消息时显示国际化字段名称而不是 java 代码中的字段名称?
我读过这个:
https://cwiki.apache.org/WICKET/everything-about-wicket-internationalization.html
以及 wicket 的 xhtml 标签的文档:
https://cwiki.apache.org/WICKET/wickets-xhtml-tags.html
<label wicket:for="name">
<wicket:label>
<wicket:message key="label.name"/>
</wicket:label>
</label>
<input wicket:id="name" type="text" wicket:message="placeholder:label.name" />
这会导致以下错误:
Last cause: Expected close tag for '<wicket:label>' Possible attempt to embed
component(s) '<wicket:message key="label.name"/>' in the body of this
component which discards its body
如果我wicket:message
用一些任意文本替换它,它会在任何关联的反馈消息中显示文本。
(有一个相关的 jira 问题:https ://issues.apache.org/jira/browse/WICKET-3903但是我仍然不明白已经做了什么来解决这个问题以及我必须做什么......)
刚刚发现在java中有一种方法可以做到这一点:
add(new TextField<String>("name").setRequired(true).setLabel(new Model<String>(getString("label.name"))));
是否有可能以更舒适的方式做到这一点?