Если я пишу
<form wicket:id="form" id="form>
или даже
<form wicket:id="form>...
Затем представленный HTML показывает идентификатору 'форму', добавленную с различными числами каждый раз, когда страница обновлена, например.
<form id="form7"....
Существует ли способ отключить это поведение платформы Калитки?
Это поведение, которое вы хотите в большинстве случаев при использовании калитки. Динамический идентификатор предназначен для предотвращения столкновений идентификаций ID, когда поведение Ajax добавляется к компонентам или добавленным к ответам AJAX для освежения. Для любых этих ситуаций вам действительно нужен как клиентский ответ, так и на стороне сервера, чтобы быть в Cahoots. Если есть внешние ресурсы JS, вам понадобится идентификатор компонента для поиска DOM, то я бы предложил добавить пользовательское поведение компонента Wicket, которое затем генерирует вызов JS к функции, проходящейся в сгенерированном идентификаторе.
Я понимаю, что я собираюсь описать, ведет вас больше в лес калитки. Но я был более чем доволен аяксистыми вещами, которые калитка открывается для вас из коробки.
Это было некоторое время, так как я работал с калиткой, но я помню, что Когда калитка использует элементы AJAX, его ID
S Auto-Genered (ID
тега, а не калитки : ID
). Вы можете управлять идентификатором тега, когда не используете элемент AJAX. В вашем случае, поскольку нет кода, я думаю, что вам придется изменить любой ajaxbutton
или ajax *
из вашей формы.
Это функция Doicket DoSing. Вы можете использовать класс для связывания стилей и компонентов.
<form wicket:id="form" id="form>
Также вы можете попробовать (я никогда этого не делал) SetmarkPid . Я не уверен, что это хорошо.
Мы широко устанавливаем идентификаторы разметки вручную в нашем проекте, чтобы ослабить автоматическое тестирование с помощью системы тестирования селена. Это определенно работает.
Component.setOutputMarkupId(true); // write id attribute of element to html
Component.setMarkupId("someid"); // id attribute of element is "someid"