# JSTL＆lt; c：if＆gt;核心标签

> 原文： [https://beginnersbook.com/2013/11/jstl-cif-core-tag/](https://beginnersbook.com/2013/11/jstl-cif-core-tag/)

**＆lt; c：if＆gt;是一个 JSTL 核心标签**，用于测试条件。它更像或类似于 java 中的 if 语句，它评估条件并在结果为真时执行代码块。

**语法：**

这是＆lt; c：if＆gt;的基本语法核心标签。包含在＆lt; c：if＆gt;范围内的语句集如果 **test =“true”**，则执行标记。对于使用此标记，我们通常使用[表达语言](https://beginnersbook.com/2013/11/jsp-expression-language-el/)来评估关系表达式。我们使用 EL，因为它在评估条件后返回布尔值（true / false），我们需要 test 属性的布尔值。

```
<c:if test="${condition}">
...
..
</c:if>
```

## ＆lt; c：if＆gt;的示例标签

在该示例中，我们使用[＆lt; c：set＆gt;定义了**年龄**变量。标签](https://beginnersbook.com/2013/11/jstl-cset-core-tag/)然后我们通过使用**＆lt; c：if＆gt;来检查投票的资格。标签**。

```
<%@ 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-example](../Images/44df108a19f4332e4fe7a9bd74a625af.jpg)

## c 为 C：如果＆GT;属性

上面我们已经看到＆lt; c：if＆gt;的基本用法我们只使用**测试属性**。然而，该标签还有另外两个可选属性，即 **var** 和**范围**。使用这些属性，您只需将测试结果存储在指定范围内的变量中。

*   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}"/>
```

![c-if-example2](../Images/bfc27ebc7c7068af8d5cba0a71ba7fd8.jpg)