实现只显示一个按钮的逻辑

Implement logic to show only one button

我正在尝试根据以下逻辑实现显示提交按钮的 JSTL 逻辑:

<c:choose>
            <!--  if it's demo mode skip every limit check, if not check them -->
            <c:when test="#{dashboard.demoMode == 'false'}">
                    <c:when test="#{dashboard.allowedTrades == 0}">
                           <h:commandButton id="buyx" x:data-toggle="modal" x:data-target="#hitsModal" />    
                    </c:when>

                    <c:when test="#{dashboard.currentBalance == 0}">
                           <h:commandButton id="buyz" x:data-toggle="modal" x:data-target="#chargeModal" />
                    </c:when>
            </c:when>

            <c:otherwise>
                   <h:commandButton id="buy" action="#{dashboard.calculateProcessing}" />
            </c:otherwise>
    </c:choose>

但不幸的是我得到了 2 个按钮 - buyx buyz。这些按钮一起显示。应该只显示一个按钮。

有没有什么方法可以实现一次只显示一个按钮的代码?

Is there some way to implement the code in a way to display just one button at a time?

是的,通过不以奇怪的嵌套方式使用 jstl c:when,而是将内部的包裹在 c:choose 中或将它们更改为 c:if

题外话,其中的 commandButtons 看起来很奇怪。