首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wicket:标签是否需要wicket:for?

wicket:标签是否需要wicket:for?
EN

Stack Overflow用户
提问于 2015-09-14 21:42:26
回答 1查看 3.9K关注 0票数 5

在过去,我为我的表格建立了这样的标签:

代码语言:javascript
复制
<label wicket:for="name"><wicket:label><wicket:message key="name"></wicket:message></wicket:label>:</label><input wicket:id="name" type="text"/>

我还需要使用wicket:label标记吗?我没有在wicket 7中使用wicket:label,而且它似乎工作得很好。我可能不明白使用wicket:label的目的。看起来wicket:label只是额外的标记。下面是我现在正在做的事情。是这样吗?:

代码语言:javascript
复制
<label wicket:for="name"><wicket:message key="name"></wicket:message>:</label><input wicket:id="name" type="text"/>

此示例与Wicket XHTML标签相关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-15 08:55:27

看看JavaDoc of AutoLabelResolverAutoLabelTextResolver

<label wicket:for="name">AutoLabelResolver处理。它通过在标签的HTML表单属性中填充正确的ID,将label标记链接到HTML组件(在您的例子中是input标记)。它还将css类添加到label标记中,例如出现错误,因此您可以在标签标签中设置文本样式,以防出现错误。

<wicket:label>有两个目的。如果您通过key属性(如您所做的那样)或通过在标记之间设置一些文本来给它一个值,则将文本设置为FormComponent的标签模型,然后将其用于像这个'${label}' is required.这样的验证消息中(参见LabeledWebMarkupContainer#setLabelLabeledWebMarkupContainer#getLabel)。

如果没有将任何文本分配给<wicket:label>标记,则将其用作输出。这意味着您的Java FormComponent的标签模型的值用于替换标记。

如果HTML中没有<wicket:label>,Java代码中也没有设置标签模型,那么您的FormComponent将有一个空的标签模型,Wicket又回到使用Wicket作为标签。因此,根据Wicket ID的外观,您将得到类似于'user_name' is required.的验证器消息,而不是像'User name' is required.这样好看的消息。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32574406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档