Имам уеб приложение и бих заредил динамично външни JSF файлове, например, чрез формуляр на страница.
Възможно ли е да се зареди JSF страница като низ (файл извън WAR) и да се предаде на Face Servlet за интерпретиране?
Имам уеб приложение и бих заредил динамично външни JSF файлове, например, чрез формуляр на страница.
Възможно ли е да се зареди JSF страница като низ (файл извън WAR) и да се предаде на Face Servlet за интерпретиране?
Не знам какво точно имате предвид с „динамично зареждане на външни 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. В тази panelGroup можете да визуализирате вашите файлове въз основа на някои условия.
Актуализация: Как да заредите външни Facelets чрез ResourceResolver се обсъжда тук и тук.