Благодаря Реджису Мачадо, который предоставил решение, я решил проблему:
В моем шаблоне я просто вставляю содержимое <h:head>
в панель div:
<!-- by layout="block" the panelGroup is rendered as a div, omitting as span -->
<h:panelGroup id="headPanel" layout="block">
<h:head>
<!-- Head Content -->
</h:head>
</h:panelGroup>
Затем в List.xhtml:
<p:commandLink value="Create" actionListener="#{myBean.toggleInclude}" update=":includePanel,:headPanel"/>
В commandLink update
, помещая :includePanel
перед :headPanel
, тег <head>
обновляется ПОСЛЕ страницы, в том числе, чтобы средство визуализации браузера знало, какой новый скрипт импортировать.
КСТАТИ:
Второе решение, предоставленное Regis Machado, тоже работает, но не поддается управлению, прежде всего потому, что загрузка сценариев при запуске (включая пустой календарь и загрузку файлов) резко снижает производительность приложения (об этом сообщается), если возникает больше случаев страниц включая необходимый, а второй усложняет обслуживание кода.
Большое спасибо за помощь, и надежда может кому-нибудь помочь!