在<c:if>标记中使用var和scope属性

时间:2017-12-27 09:25:23

标签: jsp jstl

<c:if>标签在使用中非常简单,但我不明白如何使用可选的var和scope属性。据说这些可以用来保存条件结果,但是如何?

如果标签之间的代码不是声明性的,或者它没有简单地或直接地声明一个值,那该怎么办。

  <c:if test = "${true}" var="testVar" scope="request">
     <p>not a declarative result  <c:out value = "${salary}"/></p>
  </c:if>

我试过搜索示例但找不到任何示例。

1 个答案:

答案 0 :(得分:1)

阅读您发布的内容:“这些可用于保存条件的结果”。所以,无论你在标签的正文中有什么都无关紧要。变量中保存的是条件的值(即true或false,在本例中为true)。

这可能很有用,例如为了替换像

这样的东西
<c:if test="${someComplexConditionToEvaluate}">
  bla bla
</c:if>
<c:if test="${!someComplexConditionToEvaluate}">
  bla bla
</c:if>

通过

<c:if test="${someComplexConditionToEvaluate}" var="condition">
  bla bla
</c:if>
<c:if test="${!condition}">
  bla bla
</c:if>