<c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。我们来看下语法结构:
<c:choose>
<c:when test="<boolean>">
...
</c:when>
<c:when test="<boolean>">
...
</c:when>
...
...
<c:otherwise>
...
</c:otherwise>
</c:choose>
再来看下属性方面的介绍:
- <c:choose>标签没有属性。
- <c:when>标签只有一个属性,在下表中有给出。
- <c:otherwise>标签没有属性。
<c:when>标签的属性如下:
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
test | 条件 | 是 | 无 |
完事来看个实例:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:choose 标签实例</title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<p>你的工资为 : <c:out value="${salary}"/></p>
<c:choose>
<c:when test="${salary <= 0}">
太惨了。
</c:when>
<c:when test="${salary > 1000}">
不错的薪水,还能生活。
</c:when>
<c:otherwise>
什么都没有。
</c:otherwise>
</c:choose>
</body>
</html>
结果就不显示了哈,直接来看下一个。
<c:if>标签判断表达式的值,如果表达式的值为 true 则执行其主体内容,语法格式如下:
<c:if test="<boolean>" var="<string>" scope="<string>">
...
</c:if>
<c:if>标签有如下属性:
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
test | 条件 | 是 | 无 |
var | 用于存储条件结果的变量 | 否 | 无 |
scope | var属性的作用域 | 否 | page |
来看个实例:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:if 标签实例</title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:if test="${salary > 2000}">
<p>我的工资为: <c:out value="${salary}"/><p>
</c:if>
</body>
</html>
再来看个if-else的实例:
<c:if test="${salary > 2000}" var="flag" scope="session">
<p>我的工资为: <c:out value="${salary}"/><p>
</c:if>
<c:if test="${not flag}">
<p>我的工资为: <c:out value="${salary}"/><p>
</c:if>
好嘞,具体效果大家可以手动运行看下。
如果感觉不错的话,请多多点赞支持哦。。。