こんにちは、次のコードで問題が発生しています。
<h:selectOneMenu id="selectTipoAutorizacion"
value="#{autorizacion.codigoTipoAutorizacion}"
required="true">
<f:selectItems
value="#{cc.attrs.controller.getListaTiposAutorizacion(autorizacion)}"
var="tipoAutorizacion"
itemLabel="#{tipoAutorizacion.nombreTipoAutorizacion}"
itemValue="#{tipoAutorizacion.id.codigoTipoAutorizacion}" />
<a4j:ajax event="change" execute="@this"
listener = #{myListener.listener} render="selectAutorizador" />
</h:selectOneMenu>
問題は、デフォルトで選択された値が常にタグの最初の値であるということです。そして、それはユーザーを悩ませています。選択したアイテムの値に基づいて一部のデータが読み込まれるためです...ただし、その情報は変更イベント(a4j:ajaxタグ)が発生するまで読み込まれないため、ユーザーは別のアイテムを選択する必要があります。次に、前のものを選択して、デフォルトのアイテム関連情報を表示します。
最初にデフォルトのアイテム関連情報をロードすることで問題に対処しましたが、ユーザーはこれを好みません。混乱を招く可能性があるからです。だから問題は...どうすればその行動を避けることができますか?私が欲しいのは、selectOneMenuを明確な値でロードすることです(f:selectItemsがなかった場合のように)。どうもありがとう。