h: commandButton / h: commandLink funktioniert nicht beim ersten Klick, sondern nur beim zweiten Klick

Wir haben ein Ajax-Navigationsmenü, das ein dynamisches Include aktualisiert. Die Include-Dateien haben jeweils eigene Formulare.

<h:form>
    <h:commandButton value="Add" action="#{navigator.setUrl('AddUser')}">
        <f:ajax render=":propertiesArea" />
    </h:commandButton>
</h:form>
<h:panelGroup id="propertiesArea" layout="block">
    <ui:include src="#{navigator.selectedLevel.url}" />
</h:panelGroup>

Es funktioniert ordnungsgemäß, aber alle Befehlsschaltflächen in der Include-Datei funktionieren nicht beim ersten Klicken. Es funktioniert nur beim zweiten Klicken und Her.

Ich habe diese Frage gefundenDie Methode commandButton / commandLink / ajax action / listener wurde nicht aufgerufen oder der Eingabewert wurde nicht aktualisiert und mein Problem ist in Punkt 9 beschrieben. Ich verstehe, dass ich die ID des explizit einschließen muss<h:form> im Include im<f:ajax render> um es zu lösen.

<f:ajax render=":propertiesArea :propertiesArea:someFormId" />

In meinem Fall ist die Formular-ID jedoch nicht im Voraus bekannt. Auch dieses Formular wird im Zusammenhang zunächst nicht zur Verfügung stehen.

Gibt es eine Lösung für das obige Szenario?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage