您好,我在使用以下代码时遇到问题:
<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 一样)。非常感谢。