gpt4 book ai didi

wicket - 是 Wicket 口 :label needed with wicket:for?

转载 作者:行者123 更新时间:2023-12-05 00:58:23 27 4
gpt4 key购买 nike

过去,我为我的表单构建了如下标签:

<label wicket:for="name"><wicket:label><wicket:message key="name"></wicket:message></wicket:label>:</label><input wicket:id="name" type="text"/>

我还需要使用 wicket:label吗?标签?我没有使用 wicket:label在 wicket 7 中,它似乎工作正常。我可能不理解使用 wicket:label 的目的。好像 wicket:label只是额外的标记。下面是我现在正在做的事情。这样对吗?:
<label wicket:for="name"><wicket:message key="name"></wicket:message>:</label><input wicket:id="name" type="text"/>

此示例与 Wicket XHTML tags 有关

最佳答案

查看AutoLabelResolver的JavaDoc和 AutoLabelTextResolver .
<label wicket:for="name">AutoLabelResolver 处理.它链接 HTML label通过在 HTML input 中填写正确的 ID 标记到 HTML 表单组件(在您的情况下是 for 标记)。标签的属性。它还为标签标签添加了 css 类,例如错误,因此您可以在出现错误时设置标签标签中的文本样式。
<wicket:label>有两个目的。如果你通过 key 给它一个值属性(如您所做的那样)或通过在标签之间添加一些文本,该文本被设置为 Java FormComponent 的标签模型,然后用于像这样的验证消息 '${label}' is required. (见 LabeledWebMarkupContainer#setLabelLabeledWebMarkupContainer#getLabel)。

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

如果您没有 <wicket:label>在 HTML 标记中并且在您的 Java 代码中没有设置标签模型,那么您的 Java FormComponent 将有一个空的标签模型并且 Wicket 回退到使用 Wicket ID 作为标签。因此,根据您的 Wicket ID 的外观,您将收到类似 'user_name' is required. 的验证器消息。而不是看起来不错的东西 'User name' is required.

关于wicket - 是 Wicket 口 :label needed with wicket:for?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32574406/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com