java - JSF 模板和复合组件:在当前表单外添加表单
问题描述
我正在使用一个复合组件,该组件本身使用一个声明 Primefaces 对话框和关联表单的其他组件。
问题是,在表单中生成表单。
我正在寻找一种方法来推迟我的嵌套组件的插入。避免形式内有形式。
<h:form id="documentsForm">
<!-- ***************** -->
<!-- *** STUFF *** -->
<!-- ***************** -->
<!-- ***************** -->
<!-- *** DOCUMENTS *** -->
<!-- ***************** -->
<si:documentsTable documentsCtrl="${bean.documentsTableController}" />
</h:form>
我的文档Table.xhtml
<ui:composition ...>
<composite:implementation>
<!-- ******************* -->
<!-- *** STUFF *** -->
<!-- ******************* -->
<!-- ******************* -->
<!-- *** Dialogs *** -->
<!-- ******************* -->
<si:myDialog1 updateOnSave="documentsForm:idInStuff" onSuccess="rcUpdate();" />
<si:myDialog2 updateOnSave="documentsForm:idInStuff" onSuccess="rcUpdate();" />
</composite:implementation>
</ui:composition>
我的 myDialog1.xhtml / myDialog2.xhtml
<ui:composition ...>
<composite:implementation>
<pf:dialog ...>
<!-- *** X is equals to 1 or 2 depending of myDialog1/myDialog2 *** -->
<h:form id="myDialogXForm" styleClass="ui-g">
<!-- *** THIS SHOULD NOT BE A NEASTED FORM *** -->
</h:form>
</pf:dialog>
</composite:implementation>
</ui:composition>
我理想的解决方案是有一种方法可以将 Dialog1 和 Dialog2 插入到我的页脚中。
我可以直接在页脚中添加 myDialog1 / myDialog2,但它们会为所有页面生成,我不希望这样。也许等待在页脚部分添加条件元素会成功?
解决方案
推荐阅读
- apache-spark - 使用 databricks-connect 提交 SparkApplication 时,Spark 驱动程序在哪里?
- vue.js - 使用 VueJS 对对象数组中的标题进行排序
- mysql - 当数字的值相同时如何找到第n个最高的数字
- aws-lambda - 如何解决“集成或API网关上配置的IAM角色没有调用集成的权限
- record-linkage - 如何比较同一数据集之间的链接?我只想比较不同的个体,但在同一个数据集中(df_mn)
- django - Django - 数据库表中的一个字段到多列
- algorithm - 使用下面给出的信息找到问题 PP1 和 PP2 的类别
- mysql - SQL如何用两个表连接求和
- latex - 在 Rmarkdown 的 tikz 块中使用 r 对象
- python - 无法从通过 pip 和 setuptools 安装的 entry_points 脚本中执行 Python 脚本