私が取り組んでいる 1 つのアプリケーションで奇妙な問題に直面しています。これは、Richfaces 4.3 を使用した Web アプリです。選択した項目が変更されるたびに変更イベントを発生させるために要素を<h:selectOneMenu>
使用している内部には andがあります。<a4j:ajax>
以下は、このためのコードです。
<h:selectOneMenu style="width:225px" id="mId" value="#{dataBean.meId }">
<f:selectItem itemLabel="-----Select----"></f:selectItem>
<f:selectItems value="#{dataBean.mes}" />
<a4j:ajax listener="#{dataBean.findId }" event="change" execute="@form" render="mId">
</a4j:ajax> </h:selectOneMenu>
問題は、リストから初めて値を選択するときです。値の選択が自動的に解除され、デフォルトの「-----select-----」値に戻り、リスナー メソッドは起動されません。アプリを Eclipse デバッグ モードで実行しようとしましたが、メソッドの開始時に配置したブレークポイントが起動されません。2回目に選択すると、ブレークポイントが発生し、期待どおりに機能しました。
以下のアプローチでも試しました。しかし、結果はこれでも同じです:
<h:selectOneMenu style="width:225px" id="mId" value="#{dataBean.meId }
valueChangeListener="#{dataBean.findId1}">
<f:selectItem itemLabel="-----Select----"></f:selectItem>
<f:selectItems value="#{dataBean.mes}" />
<a4j:ajax event="valueChange" execute="@form" render="mId">
</a4j:ajax> </h:selectOneMenu>
考えられるエラーの理由を提案してください。