使用p:commandbutton提交多个表单

Tho*_*her 5 jsf primefaces jsf-2

我想通过一个提交按钮提交多个表单.我有多种形式,因为每个p:fileUpload都需要一个自己的表单(当处于高级模式时).

这是我的提交按钮的代码:

<h:form id="form1">...</h:form>
<h:form id="form2">...</h:form>
<h:form>
    <p:commandButton value="Save" widgetVar="saveButtonBottom"
    action="#{bean.submit}" ajax="false"
    process=":form1,:form2,@this" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

它确实调用了bean.submit(),但它不处理其他形式.也许我对处理的理解是错误的,但我想如果我把表单放入"流程",那么它将被提交.

知道如何让它工作吗?

Bal*_*usC 5

这是HTML的限制.只有当前表格中包含的输入数据(其中命令被调用)才会被发送到服务器端.至于process属性,只有识别的哪个部分(一个或多个)提交的数据必须由JSF处理他们已经到达之后.

知道如何让它工作吗?

将所有相关数据放在同一表格中.如有必要,只需<p:fileUpload>使用多个文件选择支持.


小智 5

把它放在form2中:

<p:remoteCommand name="sendAjaxicalPGfilter"
update="form2:minMaxTable"
action="#{OptimizationSettingsBean.handleProductGroupChange}"  />
Run Code Online (Sandbox Code Playgroud)

在form1命令按钮上调用它

<p:commandButton value="Done"
oncomplete="selectedSettingDlg.hide();" onstart="sendAjaxicalPGfilter();"
ajax="true" action="#{CreateSourcingPlanBean.dummy}" 
                            update=":form1:assignmentList" >
                </p:commandButton>
Run Code Online (Sandbox Code Playgroud)