a4j:commandButton 不调用动作

a4j:commandButton does not invoke action

我正在尝试将 jsf 1.x richfaces 3.x 应用程序迁移到 jsf2.x 和 richfaces 4.x。我在一个表单中有一个 richpopupPanel,它有一个表单和两个 a4j:commandButtons。我无法调用第二个按钮上的操作来提交表单。

代码如下。

<h:form id="outsideform">
     <rich:popupPanel id="details" domElementAttachment="form">
      <f:facet name="header">
            <h:outputText value="PopuPTitle" style="text-align: center;" styleClass="center"/>
        </f:facet> 
       <a4j:commandButton id="firstButton" render = "detailsform" action="#{mybean.getDetails()}"/> 

         <h:form id="detailsForm>

           content to be submitted

        <a4j:commandButton id ="secondButton" action ="#{mybean.action()}"  render="addContent"/>

        </h:form>
        </rich:popupPanel>

detailsForm 在点击 firstButton 时成功呈现,但是当对内容进行一些更改并尝试通过点击提交时在 secondButton 上,secondButton 上的操作未被调用。要提交的表单是 detailsForm.

不要使用嵌套的 h:form。将 "details" popupPanel 移到 "outsideform" 表单之外。

删除 <h:form id="detailsForm> 并将 process="details" 属性添加到第二个按钮。