1

我有一个带有一些产品的 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>

豆类是相当标准的。我只需要一个线索如何做到这一点,也许我自己就能做到。

提前致谢。

4

1 回答 1

0

这是其中一种方法:

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