3

我很清楚如何使用"if(confition) ... else ..."JSTL 和<choose>,<when><otherwise>标记来构建语句。

但是,我很想知道导致对开发人员强制执行这种稍微繁琐和冗长的构造的设计决策,即使对于简单的 if-else 语句,也不包括可以与之一起使用的标签<s:if>(尽管我认为选择标签对于多种选择来说更加有用和优雅,有点像强大的 switch(...) 语句或类似的东西)。

Struts2 有一个<s:else> 标签,所以我不认为这是技术上的不可能......

如果有人能启发我,我将不胜感激。

编辑:顺便说一句,有人认为“否则”真的比“其他”更好吗?(我不是以英语为母语的人,所以可能会有不同的“如果”我没有在这里 - 无论如何我宁愿输入“其他”:-)

4

2 回答 2

0

许多 JSTL 元素(在我看来)似乎是基于 XSLT。例如xsl:choose

于 2013-05-21T01:58:53.413 回答
0

通常,IF 语句必须跟在 ELSE 语句之后,并且在这些注释之间不应该做任何其他事情。

我们没有,因为如果它在那里,可能会在<c:if> .. </c:if>AND之间添加一些其他<c:else> .. </c:else>不应该存在的东西。

为了准确地保持流程 IF ELSE 并且不违反它,不提供 ELSE。

但没什么大不了的,我们确实有其他标签来完成这项工作:

<c:choose>
  <c:when test="${condition1}">
    ...
  </c:when>
  <c:when test="${condition2}">
    ...
  </c:when>
  <c:otherwise>
    ...
  </c:otherwise>
</c:choose>

参考:http ://careerguide.techproceed.com/2013/11/jstl-tutorial-with-examples.html

于 2014-05-17T18:38:21.597 回答