К сожалению, простая реализация IHeaderContributor
не гарантирует, что вы действительно внесете свой вклад в заголовок страницы / компонента.Это работает только для экземпляров Component
и IBehavior
элементов, которые добавляются на страницу и на саму страницу.В частности, из javadoc IHeaderContributor
:
An interface to be implemented by components or behaviors that wish to
contribute to the header section of the page.
Конкретный код, который вызывает это, находится в Component#renderHead(HtmlHeaderContainer)
.Он проверяет, реализует ли он сам и любое из его поведений IHeaderContributor
, а затем добавляет эти вклады.
Чтобы решить вашу проблему, вы можете:
- Получить свой
AjaxLink
реализовать IHeaderContributor
- Добавить
IBehavior
к вашему AjaxLink
, который реализует IHeaderContributor
В зависимости от того, как часто вы будете использовать это, вариант № 1 может быть лучшим,Создайте «CloakedAjaxLink», который делает все, что вам нужно.