JSTL c:if 核心标签,<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}"/>