实现只显示一个按钮的逻辑
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 看起来很奇怪。
我正在尝试根据以下逻辑实现显示提交按钮的 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 看起来很奇怪。