学科分类
目录
Java Web

<c:if>标签

在程序开发中,经常需要使用if语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的<c:if>标签,该标签专门用于完成JSP页面中的条件判断,它有两种语法格式,具体如下:

语法1:没有标签体的情况

<c:if test="testCondition" var="resulst"

[scope="{page|request|session|application}"]/>

语法2:有标签体的情况,在标签体中指定要输出的内容

<c:if test="testCondition" var="resulst"

[scope="{page|request|session|application}"]>

  body content

</c:if>

在上述语法格式中,可以看到<c:if>标签有三个属性,接下来将针对这三个属性进行讲解,具体如下:

● test属性用于设置逻辑表达式;

● var属性用于指定逻辑表达式中变量的名字;

● scope属性用于指定var变量的作用范围,默认值为page。如果属性test的计算结果为true,那么标签体将被执行,否则标签体不会执行。

通过前面的讲解,我们对<c:if>标签有了一个简单的认识,接下来通过一个具体的案例来演示如何在JSP页面中使用<c:if>标签,如例1所示。

例1 c_if.jsp

 1  <%@ page language="java" contentType="text/html; charset=utf-8"

 2  pageEncoding="utf-8" import="java.util.*"%>

 3  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 4  <html>

 5  <head></head>

 6  <body>

 7    <c:set value="1" var="visitCount" property="visitCount" />

 8    <c:if test="${visitCount==1 }">

 9      This is you first visit. Welcome to the site!

 10   </c:if>

 11 </body>

 12 </html>

打开IE浏览器,在地址栏中输入http://localhost:8080/chapter08/c_if.jsp访问c_if.jsp页面,此时,浏览器窗口中显示的结果如图1所示。

图1 c_if.jsp

从图1可以看出,浏览器窗口中显示了<c:if>标签体中的内容。这是因为在例1中使用了<c:if>标签,当执行到<c:if>标签时会通过test属性来判断表达式${visitCount==1}是否为true,如果为true就输出标签体中的内容,否则输出空字符串。由于我们使用了<c:set>标签将visitCount的值设置为1,因此,表达式${visitCount==1}的结果为true,便会输出<c:if>标签体中的内容。

点击此处
隐藏目录