<c:choose>中有多个<c:when>是什么意思?(关于IT技术)

9

我只是想知道下面的代码是否有效?

<c:choose>
    <c:when test="${empty example1}">
    </c:when>
    <c:when test="${empty example2}">
    </c:when>
    <c:otherwise>
    </c:otherwise>              
</c:choose>

9
是的。你遇到了什么问题?还是你根本没有运行它? - BalusC
1
第二个<c:when>没有被调用,所以我不确定是否可以编写多个<c:when>。正如你所说的那样是有效的,我将尝试更改条件。 - Jay
如果第二个没有被调用,那么条件就不匹配或者已经在之前匹配过了。请提出更具体的技术问题,而不仅仅是一个修辞问题。 - BalusC
3个回答

38
在标签中,第一个满足条件的when语句会被执行。在下面的示例中,如果"first test"和"second test"都为真,则会将"h2 Kpow"添加到HTML页面中,而"Blammy"则不会被添加。
<c:choose>
  <c:when test="first test">
    <h2>Kpow</h2>
  </c:when>
  <c:when test="second test">
    <h2>Blammy</h2>
  </c:when>
</c:choose>

8
<c:choose>
    <c:when test="${empty example1}">
    </c:when>
  <c:when test="${empty example2}">
  </c:when>
  <c:otherwise>
  </c:otherwise>              
</c:choose>

这段代码实际上是...
 switch(int i){
   case 1:
   ...
   break;
   case 2:
   ...
   break;
   default:
   ...
   break;
}

1

是的,它是有效的。为什么不试一下呢?查找JSTL以获取更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接