我已经在<c:if>
和<c:otherwise>
搜索了StackOverflow并找到了一些信息,但并不完全是我正在寻找的信息。 <c:otherwise>
似乎设计如下:
<c:choose>
<c:when test="${somecondition}">
<%-- do stuff --%>
</c:when>
<c:when test="${someothercondition}">
<%-- do other stuff --%>
</c:when>
<c:otherwise>
<%-- do other other stuff --%>
</c:otherwise>
</c:choose>
(基本上就像一个switch语句。)
但是,我发现的其他问题都没有明确告诉我这是否是您使用<c:otherwise>
的唯一方法(尽管他们似乎暗示了它)。你能不能
<c:if test="${somecondition}">
<%-- do stuff --%>
</c:if>
<c:otherwise>
<%-- do other stuff --%>
</c:otherwise>
(就像if / else一样)或者这是错的?
(请检查我的标签。我必须同时使用/学习JSP,Javascript和JQuery,因此有时会混淆哪种新东西是新语言。)
答案 0 :(得分:3)
如果没有<c:choose />
,则无法使用它。 JSTL区别于简单条件标记和条件块执行:
if 标记允许根据test属性的值条件执行其正文。
选择标记通过子标签时嵌入执行条件块执行。它呈现第一个标记的主体,其标记的测试条件评估为真。如果嵌套的标签的测试条件都没有计算为true,那么将评估其他标签的主体(如果存在)。
所以你肯定需要一个条件块(<c:choose />
)才能使用<c:otherwise />
。
另见: