selectOneMenu中的JSF侦听器

时间:2013-05-11 20:53:28

标签: list jsf selectonemenu

我有一些产品的selectOneMenu项目。其中一些是不可用的,因此在您点击它之后,应该禁用“添加”按钮,并且应显示一条消息“抱歉您选择的产品当前不可用”。我不知道如何实现这一目标。尝试过听众,ajax,但仍然没有。

这是我的JSF页面的许多版本之一:

<h:form>
            <h:selectOneMenu value="#{productBean.productName}">
                <f:selectItems id ="other" value="#{productBean.other}" var="other" itemValue="#{ordersBean.productName}" itemLabel="#{other.name}" />
                <f:ajax listener="#{productBean.valueChanged}" />
            </h:selectOneMenu>
            <h:commandButton value ="Dodaj do zamówienia" rendered="#{productBean.available}"/>
                    <h:outputLabel id="orderSummary"/>
        </h:form>
豆类是相当标准的。我只是需要一个线索如何做到这一点,我可能会自己做。

提前致谢。

1 个答案:

答案 0 :(得分:0)

以下是其中一种方式:

  1. 在您的AJAX侦听器中,您可以检查产品是否可用并相应地设置bean字段,或者为组件添加消息。
  2. 在您的视图中引入一个组件,该组件会将消息保存给用户,例如使用#{bean.available ? '' : 'Sorry, out of stock'}值,或将其包含在<h:panelGroup>中,并让该组件具有{{ 1}}属性,或在您视图中的某处附加rendered / <h:message>
  3. 指定要在<h:messages>标记的render属性中呈现的邮件持有者的ID。