Для некоторых компонентов Wicket, если я вызываю setOutputMarkupId(true)
, они предупреждают, когда они отображаются.
Markup id set on a component that is usually not rendered into markup.
Я хотел бы вывести идентификатор для каждого компонента, который фактически окажется в HTML вчтобы я мог найти их с XPath для тестирования.Как я могу предсказать из класса или свойств Component
, является ли это разумным для setOutputMarkupId(true)
?
Более подробно - в моем Application
я переопределяю
protected void init() {
super.init();
addComponentInstantiationListener(new IComponentInstantiationListener() {
public void onInstantiation(Component component) {
if (!(component instanceof WebMarkupContainer)) return;
if (component instanceof WebMarkupContainerWithAssociatedMarkup) return;
if (component instanceof Border.BorderBodyContainer) return;
WebMarkupContainer container = (WebMarkupContainer) component;
if (container.isTransparentResolver()) return;
component.setOutputMarkupId(true);
}});
Для примера страниц этот произвольный Губбинс делает свое дело, но он кажется довольно произвольным!