jsf中的noSelectionLabel?

时间:2011-07-20 11:39:16

标签: jsf jsf-1.2

在我们想要告诉用户从selectOneMenu组件中选择一个选项的情况有很多种。在Seam中,可以使用noSelectionLabel轻松解决此问题。

<h:selectOneMenu value="#{seasonHome.id}">
        <s:selectItems value="#{seasonListQuery.resultList}"
                       var="season"
                       label="xxxSeason #{season.startYear}"
                       noSelectionLabel="Select Season"
                       hideNoSelectionLabel="true" />
        <s:convertEntity /> 
</h:selectOneMenu>

请告诉我JSF 1.2中是否有类似内容?

我正在使用带有selectItems列表的icefaces,如:

<ice:selectOneMenu
            id="#{id}"
            required="#{required}"
            styleClass="#{styleClass} #{not required ? 'graNotRequired':''}"
            style="width: #{width};font-size: #{fontSize};"
            partialSubmit="#{partialSubmit}"
            disabled="#{disabled}"
            value="#{fieldOneDataHolder[fieldTwo]}">
            <f:selectItems value="#{selectableItems}" />
            <f:validator validatorId="#{validatorId}" />
        </ice:selectOneMenu>

(请忽略参数,这是我制作的自定义组件。)

我可以在<f:selectItem itemLabel="Please select" itemValue=""/>之上引入一个新的f:selectItems,但这很难(我必须找到一种方法在某些情况下隐藏它等)...

你知道其他的解决方法吗?

感谢。

1 个答案:

答案 0 :(得分:-1)

<f:selectItem itemLabel="Please select" itemValue="" itemDisabled="true" rendered="#{isShown}" />

itemDisabled会显示但不可选择。

rendered中的布尔值将决定是否显示该项目。