确保您使用FormComponentLabel作为< label>元素而不是Label.
Label的目的是在关联元素内输出文本(它可以是< span>,< div>或几乎任何其他标记).
FormComponentLabel的目的是建模标签.它们接收与它们相关的FormComponent并自动输出具有dom id属性的适当值的for属性.
在Form control labels上查看Wicket wiki页面.他们在那里向FormComponentLabel添加组件.
如果你想完全避免使用FormComponentLabel,你不应该给它一个wicket:id属性,并手动设置元素的DOM id属性< label>将参考.然后只需在< label>的for属性中使用它.
例如:
HTML
[Drug XYZ]
[Information, Price, Other]
Java的
TextField drug = new TextField("drug");
drug.setMarkupId("drug_1"); // Make sure this ID is unique in the page!
drug.setOutputMarkupId(true);
add(drug);
Label drugDescription = new Label("drugSearchResult.row.item.label", aModel);
add(drugDescription);