Почему вы не искали решение, которое загружает содержимое оверлейной панели лениво?Для меня это звучит как гораздо более общее решение (тогда все, что внутри него будет загружено лениво), вы стоите и у вас больше шансов на то, что что-то уже реализовано.
Из витрины PrimeFaces p:overlayPanel
(выделенная шахта)
Панель наложения
OverlayPanel - это общий компонент контейнера, который можетналожение других компонентов на странице.Примечательными особенностями являются пользовательское позиционирование, настраиваемые события и эффекты. Ленивая загрузка содержимого для сокращения времени загрузки страницы также поддерживается с помощью динамического параметра, когда включен overlayPanel, который загружает содержимое непосредственно перед отображением.
Из документации PrimeFaces
Динамический режим
Динамический режим позволяет выполнять отложенную загрузку содержимого, в этом режиме содержимое панели не отображается при загрузке страницы и загружается непосредственно перед отображением панели.Кроме того, содержимое кэшируется, поэтому последовательные показы не загружают содержимое снова.Эта функция полезна для уменьшения размера страницы и уменьшения времени загрузки страницы.
Таким образом, отложенная загрузка выполняется с помощью атрибута dynamic
, который имеет пример даже в витрине
<p:commandButton id="movieBtn" value="Dynamic" type="button" />
<p:overlayPanel id="moviePanel" for="movieBtn" hideEffect="fade" dynamic="true" style="width:600px" modal="true">
...
</p:overlayPanel>