В Wicket я бы хотел создать подкласс компонента формы TextField для добавления дополнительной разметки вокруг тега.
Почему я не хочу создавать панель:
1) Я хочу, чтобы дизайнер веб-страниц использовал тег ввода:
<input wicket:id="blah">
2) Я не хочу, чтобы подкласс терял семантику FormField в Java, например:
field.setRequired(true);
и т. Д.
Я в порядке с жестким кодированием разметки упаковки в Java. Но я бы хотел, чтобы в Java он вел себя как FormField.
Есть идеи? Посмотрел вокруг примеры, но остановился на этом
Edit:
Я знаю о границах, но моя проблема в том, что вы должны добавить их как в разметку, так и в Java. Например:
<div wicket:id="border">
<input type="text" wicket:id="field"/>
</div>
-
FormComponent<Integer> field = new TextField<Integer>("field", new Model(1));
field.setRequired(true);
Border border = new MyBorder("border");
border.add(field);
form.add(border);
Это заставляет дизайнера веб-страниц знать о специальной разметке, и Java не может быть инкапсулирован (как подкласс FormField).