<c:if>是一个 JSTL 核心标签,用于测试条件。它更像或类似于 java 中的if语句,它评估条件并在结果为真时执行代码块。
语法:
这是<c:if>的基本语法核心标签。包含在<c:if>范围内的语句集如果为"true",则执行标签。为了使用此标签,我们通常使用表达语言来评估关系表达式。我们使用 EL,因为它在评估条件后返回布尔值(true/false),我们需要test属性的布尔值。
<c:if test="${condition}">.....</c:if>
<c:if>的示例标签
在该示例中,我们使用<c:set>标签定义了age变量。然后我们通过使用<c:if>来检查投票的资格。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><html><head><title>JSTL c:if Tag Example</title></head><body><c:set var="age" value="26"/><c:if test="${age >= 18}"><c:out value="You are eligible for voting!"/></c:if><c:if test="${age < 18}"><c:out value="You are not eligible for voting!"/></c:if></body></html>
输出:

<c:if>属性
上面我们已经看到<c:if>的基本用法我们只使用test属性。然而,该标签还有另外两个可选属性,即var和scope。使用这些属性,您只需将测试结果存储在指定范围内的变量中。
var:将存储测试结果的变量名称。scope:定义存储值的范围。对于例如如果是会话,则可以访问存储的var值,直到会话处于活动状态。
var和scope属性的示例
将测试结果存储在请求范围中的变量res中。为了打印我们给requestScope.res的值,因为变量存储在请求中,但是你甚至可以单独给出变量名(res),它可以正常工作。
<c:if test="${17 >= 18}" var="res" scope="request"></c:if><c:out value="${requestScope.res}"/>

