Skip to content

介绍:提供一些常用的标签

Maven:

xml
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

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

c:forEach

作用:可以在页面中对集合进行遍历

例子

jsp
<c:forEach items="${list}" var="hero">
	${hero} <br />
</c:forEach>

<c:forEach items="${map}" var="user">
	${user.key} --- ${user.value} <br />
</c:forEach>

属性

  • items:要遍历的集合
  • var:对集合中的对象引用的名字
  • begin :开始的位置,注意begin不能小于0
  • end :结束的位置
  • step :步长,每次自增的大小

注意

在遍历Map时,返回的是一组一组的键值对结构,我们可以通过对象.key获取键,通过对象.value获取值

jsp
<c:forEach begin="1" end="20" var="index" step="1">
	<a href=#>${index}</a>
</c:forEach>

c:if

作用 :相当于java中if语句

例子

jsp
<c:if test="${empty param.name }">
	<h3>您没有输入name属性!</h3>
</c:if>

属性

test :接收一个boolean类型的值,如果test的值为true则标签体执行,否则不执行标签体

c:out

作用:向页面中输入一个内容,一般要结合EL表达式使用

例子:<c:out value="" default="" escapeXml=""></c:out>

属性

  • value : 要输出内容
  • default : 当内容为空时显示的默认值
  • escapeXml : 是否自动转义特殊字符,默认值为true 自动转义,一般不修改该属性

c:set

作用:向域中设置一个属性

例子:<c:set var="name" value="孙悟空" scope="request"></c:set>

属性

  • var :向域中存储的属性名
  • value :向域中存储的属性值
  • scope :向那个域中添加属性,四个可选值(page request session application),默认是page

c:remove

作用:移除域中的一个属性

例子:<c:remove var="name" scope="session"/>

属性

  • var :要移除的属性的名字
  • scope :要移除的属性所在的域,四个可选值(page request session application)如果不设置该属性,则默认移除四个域中指定属性

c:choose c:when c:otherwise

作用:相当于if...else

例子

jsp
<c:choose>
	<c:when test="${param.score == 100 }">
		<h3>恭喜您考了100分!</h3>
	</c:when>
	<c:otherwise>
		<h3>恭喜你,你不及格!</h3>
	</c:otherwise>
</c:choose>

属性

when标签中的test属性: 接收一个boolean类型的值 如果test的值为true则标签体执行 否则不执行标签体

注意:在choose标签中可以指定多个when标签,但是只有一个when会执行,当所有的when标签都不执行时,则otherwise标签执行

c:when和c:otherwise不能脱离c:choose使用

c:url

作用:可以创建一个完整的绝对路径

例子

jsp
<c:url value="/index.jsp">
	<c:param name="name" value="孙悟空"></c:param>
	<c:param name="age" value="18"></c:param>
</c:url>

属性

value:要设置的地址,注意该地址要以/开头,否则不会加上项目名,在url标签中可以添加c:param标签,可以自动为地址拼接上请求参数

c:redirect

作用:请求的重定向

例子

jsp
<c:redirect url="/index.jsp">
	<c:param name="name" value="唐僧"></c:param>
</c:redirect>

属性

url:重定向到目标地址,注意该地址不要自己添加项目名

在redirect标签中可以添加c:param标签,可以自动为地址拼接上请求参数。 注意:redirect标签会自动为我们设置项目名,不需要我们手动设置!