【发布时间】:2025-12-30 10:05:18
【问题描述】:
我正在尝试在 Apache Wicket 中更改 DatePicker 的 HTML 标记。 我现在拥有的:
public CustomDateTextField(final String id, IModel<T> model, Class<T> type, String modelPath) {
super(id, model, type, modelPath);
addDatePicker();
}
而且这个使用默认标记。例如,要初始化这个,我使用以下 Java 代码:
CustomDateTextField<?> textField = new CustomDateTextField(field, model.bind(field), pathPrefix + "." + field);
还有这个 HTML 标记:
<input wicket:id="date" name="date" type="text" size="10" maxlength="10" />
但为了测试自动化,我希望在 UI 上提供唯一 ID。我的意思是,如果我现在在 UI 上检查我的 datePicker,我将拥有:
<img style="cursor: pointer; border: none;" id="date53Icon" src="resources/org.apache.wicket.extensions.yui.calendar.DatePicker/icon1.gif" alt="" title="">
但我需要使这个特定的 datePicker 独一无二。例如,我可以添加到 html name="apocalypseDate",但要做到这一点,我需要以某种方式提取标记。现在我很困惑如何做到这一点。
提前致谢!
【问题讨论】:
-
嗨,我不明白你所说的“使这个特定的 datePicker 独一无二”到底是什么意思。你需要为img标签分配一个唯一的id吗?
-
我的意思是我希望页面上的 datePickers 很少,但 ID 或名称不同。所以我希望在检查元素时能够看到这一点。例如,我想要 2 个日期选择器: 1. name="startDate"; 2.名称=“结束日期”。我现在拥有的 - 生成的 id,它随着页面刷新而改变。我想让它保持不变。
-
好的,谢谢您的澄清。在这种情况下,我还建议使用 setMarkupId 设置 id,或者,您可以使用属性修饰符(请参阅下面的答案)
标签: java date datepicker wicket markup