jsf - 如何制作动态复合组件
问题描述
就像 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>
我想通过源调用复合组件。ui: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>
但这意味着,在页面加载时,所有的 bean 都将被调用和初始化。我不希望这样,因为系统在页面加载时会很重。我希望它根据需要调用组合,然后像 ui:include 一样初始化并显示它。我如何使用复合组件来做到这一点,这可能吗?如果没有,还有其他解决方案吗?
解决方案
推荐阅读
- augmented-reality - 我想为我在 ARCORE 上构建的 AR 应用程序创建一个盒子的 3d 模型。我用什么?
- python - 如何获得基本比率通用报价 (python 3.x) (Interactive Broker)
- hyperledger-fabric - 截止日期前无法连接
- reactjs - 如何在axios中重定向?
- javascript - 如何使用 jQuery 在页面加载时找到选定的单选按钮?
- ios - swift - 如何禁用 iOS tableView 上的点击历史记录
- c# - TFS 2017 - 错误 MSB4126:指定的解决方案配置“dev|any cpu”无效
- django - Django 重定向到 /accounts/profile
- javascript - 如何显示从 HttpResponseErrInterceptor 到特定控制器的响应消息
- c++ - 为什么 google styleguide 建议默认使用可选的 int64_t 来处理大整数?