Так же, как ui: include может быть динамическим, вызывая src следующим образом:
<h:form id="form">
<p:outputPanel id="title" value="This is the main xthtml page">
<p:dialog header="Modal Dialog" modal="true">
<ui:include src="#{mainBacking.compositePage}">
<ui:param name="action" value="actionOne" />
</ui:include>
</p:dialog>
</form>
Я хочу вызвать составной компонент по источнику. Одна из проблем пользовательского интерфейса: include не может передавать методы в качестве параметров, в то время как составные компоненты могут. Как мне создать / вызвать динамический составной компонент, основанный на src? Текущий подход заключается в том, что мне нужно указать все составные компоненты в одном и том же файле xthml, как и в любом случае (конечно, это только минимальный воспроизводимый код, реальный намного длиннее с большим количеством параметров);
<h:form id="form">
<p:outputPanel id="title" value="This is the main xthtml page">
<p:dialog header="Modal Dialog" modal="true">
<util:user-composite id="userModaL"
bean="#{userBean}"></util:user-composite>
<util:company-composite id="companyModaL"
bean="#{companyBean}"></util:company-composite>
<util:education-composite id="educationModaL"
bean="#{eduBean}"></util:education-composite>
</p:dialog>
</form>
Но это означает, что при загрузке страницы все компоненты будут вызываться и инициализироваться. Я не хочу этого, поскольку система будет тяжелой при загрузке страницы. Я хочу, чтобы он вызывал композит, основанный на необходимости, и только инициализировал и отображал его тогда, как ui: include. Как мне сделать это с использованием составных компонентов и возможно ли это? Если нет, есть ли другие решения?