提交时使用JSF表单

提交时使用JSF表单,jsf,jsf-2,primefaces,ajax4jsf,Jsf,Jsf 2,Primefaces,Ajax4jsf,如果我们有以下几个表单,当我最后按下submit按钮时,它应该将“froms1到forms3”中的所有值发送到服务器。有可能吗?我用的是素面 <h:form id="forms1"> <inputText ......... </h:form> ...... <h:form id="forms2"> ...... </h:form> ....... <h:form id="forms3"> ..... </h:form

如果我们有以下几个表单,当我最后按下submit按钮时,它应该将“froms1到forms3”中的所有值发送到服务器。有可能吗?我用的是素面

<h:form id="forms1">
 <inputText .........
 </h:form>
......
<h:form id="forms2">
 ......
</h:form>
.......
<h:form id="forms3">
.....
</h:form>

<p:commandButton value="submit" action="#{bean.action}" onSubmit="this.forms1,this.forms2,this.forms3" partialSubmit="true" />


您可以将一些黑客解决方案组合在一起,用一个按钮提交3个表单,但最好只使用一个表单,表单内有一个提交按钮


如果您使用多个表单来获得与事物外观的某种分离,请尝试使用字段集。Primefaces甚至有一个字段集组件

提交多个表单不是一个好主意,但您可以通过以下代码提交

<p:commandButton title="Submit" value="Submit" action="#{bean.action}" process="form1,form2,form3">


这可能适用于4个您…

那么为什么您需要3个不同的表单?它是否有效?不应该在a里面吗?如果你能编辑你的帖子并回答Jigar的问题会更好。如果没有充分的理由使用3个不同的表单,那么应该使用1个大表单来捕获所有数据。如果您的表单位于a或类似的内容中,并且其中包含内部提交,则应添加
execute=“@container”
属性以改进发送到服务器的数据。