jsf-2 - h :selectOneMenu default item to null, 清除空项目值,必填字段

标签 jsf-2 richfaces

您好,我在使用以下代码时遇到问题:

<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 一样)。非常感谢。

最佳答案

您的字段是必需的,在这种情况下应该没有任何有效的默认值。在列表顶部添加一个空的 selectItem:selectItems.add(0, new SelectItem("", "")) ;或者这样:<f:selectItem itemValue="" itemLabel="" />默认情况下,它将选择空的 selectItem。
用户将被迫做出选择 required="true"不允许空选。

关于jsf-2 - h :selectOneMenu default item to null, 清除空项目值,必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109415/

相关文章:

java.lang.IllegalStateException - 提交响应后无法创建 session

jsf - JSF 中的多个 Action 监听器

css - 丰富的 :extendedDataTable custom css

java - 丰富的面孔 : how to add static text beside value on InputNumberSlider tooltip?

jsf - java.lang.IllegalArgumentException : duplicate key: class javax. faces.convert.DoubleConverter

css - DataTable 中未对齐的行与 Primefaces 5.0 JSF 2.2 中的卡住列

java - Primefaces 数据表 : what 'onRowSelectUpdate="display"' means?

jsf-2 - PrimeFaces p:使用youtube的媒体标签

java - JSF 2.1 条件字段验证

java - 在 RichFaces 中,使用电子邮件验证时我收到 NullPointer 异常?