Есть ли проблема с a4j: commandButtons, которые получают 'reRendered'? - PullRequest
1 голос
/ 19 августа 2009

Код ниже был упрощен до самой простой вещи, которая терпит неудачу. Обычно, когда кто-то просит подтвердить действие, я заставляю его войти в систему, а затем разрешаю ему подтвердить действие. Это все сделано с помощью AJAX. Первая отправка формы происходит правильно, но вторая не запускает требуемый ActionListener. Вторая форма отправляет на сервер, хотя.

<h:panelGroup id="confirmPanelWrapper">
    <h:panelGroup id="loginPanelInner" rendered="#{(!login.authenticated)}">
        <a4j:form id="loginForm">
            <h:outputText value="Enter your proctor login."/><br/>
            <br/>
            <h:outputText value="User Name *"/><br/>
            <h:inputText size="30" id="username" value="#{login.username}"/><br/>
            <br/>
            <h:outputText value="Password *"/><br/>
            <h:inputSecret size="30" id="password" value="#{login.password}"/><br/>
            <br/>
            <a4j:commandButton value="Submit" action="#{login.authenticateProctor}" reRender="confirmPanelWrapper"/>
        </a4j:form>
    </h:panelGroup>
    <h:panelGroup id="confirmPanel" rendered="#{(login.authenticated)}">
        <a4j:form id="confirmForm">
            <a4j:commandButton
                       value="Yes"
                       id="confirmTest"
                       actionListener="#{beanName.confirmTestAssociation}"
                       reRender="confirmPanelWrapper"
                       style="padding-right:10px;"/>
            <a4j:commandButton
                       value="No"
                       id="denyTest"
                       reRender="confirmPanelWrapper"
                       actionListener="#{beanName.selectionNotConfirmed}"/>
        </a4j:form>
    </h:panelGroup>
  </h:panelGroup>
...