Java 如何将组件添加到标签?

Java 如何将组件添加到标签?,java,html,wicket,wicket-1.5,Java,Html,Wicket,Wicket 1.5,我有以下html: <label wicket:id="drugSearchResult.row.item.label" for="drug_1">[Drug XYZ] <span wicket:id="drugSearchResult.row.item.info">[Information, Price, Other]</span> </label> [药物XYZ] [信息、价格、其他] 但不允许label元素添加子组件。 有没有

我有以下html:

<label wicket:id="drugSearchResult.row.item.label" for="drug_1">[Drug XYZ]  
    <span wicket:id="drugSearchResult.row.item.info">[Information, Price, Other]</span>
</label>
[药物XYZ]
[信息、价格、其他]
但不允许label元素添加子组件。 有没有办法达到这个html要求

这是设计师的要求:

药物XYZ/标签
信息、价格、其他//span


确保对
元素使用
FormComponentLabel
,而不是
Label

的目的是在关联元素内输出文本(它可以是
或几乎任何其他标记)

的目的是为标记建模。它们接收与之相关的属性,并自动为属性输出具有dom
id
属性正确值的

请查看上的Wicket wiki页面。他们正在那里向
FormComponentLabel
添加组件

如果您希望完全避免使用
FormComponentLabel
,则不应该给它一个
wicket:id
属性,并手动设置
将要引用的元素的DOM
id
属性。然后在
属性中使用它

例如:

HTML

<input wicket:id="drug">
<label for="drug_1">[Drug XYZ]  
    <span wicket:id="drugSearchResult.row.item.info">[Information, Price, Other]</span>
</label>
使用属性和
对我来说,下面的方法很有用。
在我的项目中,每页只有一个位置定义了
和验证消息的文本。它是网页的属性文件

附加的
及其类属性来自引导


爪哇

add(新的RequiredTextField(“customer.name1”)
.setLabel(新StringResourceModel(“customer.name1”));
customerPage.properties

# siehe wicket-core-7.9.0-sources.jar!/org/apache/wicket/Application_de.properties
Required='${label}' ist erforderlich
customer.name1=Name 1
customer.name2=Name 2
customer.department=Abteilung
customer.phone=Telefon
customer.active=aktiv

你为什么要这么做?你想得到什么?把你想要得到的结果html和你的模型对象是什么。我真的不明白你为什么要这样做,为什么你不干脆做
[Drug XYZ][信息,价格,其他]
谢谢,我从来不知道FormComponentLabel。但它确实是一字不差的。@bert它可能是,但也非常有用。您甚至可以基于
isRequired()
,在标签中自动输出所需的字段符号(即
*
),并使用组件的
get/setLabel()
作为文本:)我现在有一个用于此的用例,因此我无意中发现了它。标签文本是否为i18n(即从源文件加载)?是的,确实如此!接收一个
模型
,因此
StringResourceModel
在这里就可以了。通过这种方式,您可以始终将字段名验证器在其错误中的输出与
:)中的文本相匹配。我们现在使用wicket:message,但需要包含错误标记。所以这很方便;)
# siehe wicket-core-7.9.0-sources.jar!/org/apache/wicket/Application_de.properties
Required='${label}' ist erforderlich
customer.name1=Name 1
customer.name2=Name 2
customer.department=Abteilung
customer.phone=Telefon
customer.active=aktiv