У меня есть веб-приложение, и я бы динамически загружал внешние файлы JSF, например, по форме на странице.
Можно ли загрузить страницу JSF в виде строки (файл вне WAR) и передать ее сервлету Face для интерпретации?
У меня есть веб-приложение, и я бы динамически загружал внешние файлы JSF, например, по форме на странице.
Можно ли загрузить страницу JSF в виде строки (файл вне WAR) и передать ее сервлету Face для интерпретации?
Я не знаю, что вы имеете в виду под «динамической загрузкой внешних файлов JSF». Если вы хотите заменить части представления через ajax фрагментами, которые вы храните в отдельном файле, вы можете сделать это:
<h:commandButton value="click me">
<f:ajax render="panel" listener="#{bean.actionListener}" />
</h:commandButton>
<h:panelGroup id="panel">
<h:panelGroup rendered="#{bean.condition}">
<ui:include src="snippet.xhtml" />
</h:panelGroup>
<h:panelGroup rendered="#{bean.anotherCondition}">
<ui:include src="snippet2.xhtml" />
</h:panelGroup>
</h:panelGroup>
Сделайте ajax-вызов и перерендерите группу panelGroup. В этой группе панелей вы можете отображать свои файлы на основе некоторых условий.
Обновление: как загружать внешние Facelets через ссылку ResourceResolver обсуждается здесь и здесь.