サポートされている複数の ajax イベントの順次処理の JSF 2.x 機能が機能しません。私は次のシナリオを得ました:
h:inputText (変更)
<h:inputText id="consumption_input" value="#{cc.attrs.consumptionInfo.consumption}"> <f:ajax render="#{cc.attrs.outerRenderString}" event="change" listener="#{cc.handleAjaxRequest}" /> </h:inputText>
h:commandButton (アクション)
<h:commandButton id="startComparisonButton" action="#{rateComparisonBean.startRateComparison()}" value="#{bundle.rateResultOverview_startComparison}"> <!-- This is to avoid mixed requests, ajax and full requests --> <f:ajax render="@form"/> </h:commandButton>
両方の要素のイベントは、単独でトリガーされた場合に正しく処理されます。
両方のイベントが 1 回のクリックでトリガーされると問題が発生します (textInput に値を入力してからボタンをクリックします)。これにより、2 つの ajax リクエストが同期的に起動されると予想していました (CHANGE-TextField と ACTION-commandButton)。
残念ながら、Ajax-Request (Change-TextField) は 1 つしかなく、2 番目のイベントは完全に失われているようです。
ここで指摘されているように、ah:commandButton のすべての前提条件が完全に満たされていることを確認しました: commandButton/commandLink/ajax アクション/リスナー メソッドが呼び出されないか、入力値が更新されない
この問題を解決する方法についてのヒントをいただければ幸いです。
環境: Glassfish 3、Mojarra 2.1.3-FCS