JSTL标签库
-
java标准的标签库
-
通常和EL表达式一起使用,目的是让JSP中的java代码消失
-
使用JSTL标签库的步骤:
-
引入JSTL标签库对应的jar包
-
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 这个就是核心标签库 prefix="这里随便起一个名字就行了,核心标签库,大家默认叫c"
-
在需要使用标签的位置使用即可,表面使用的是标签,本质上使用的还是java程序
-
-
JSTL代替java代码
-
JSTL标签的原理:
-
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 以上uri后面的路径实际上指向了一个xxx.tld文件 tld文件实际上是一个xml配置文件 在tld文件中描述了“标签”和“java类”之间的关系 以上核心标签库对应的tld文件时:c.tld文件
-
-
JSTL标签中的属性:
-
items代表了可以有一个迭代的集合
-
var代表了集合中的每一个元素
-
<c:forEach items="${stu}" var="s"> id:${s.id},name:${s.name} <br> </c:forEach>
-
-
常用标签:
-
if
<c:if test="${not empty param.username}"> <h1>欢迎你</h1> </c:if>
其中test="只能放true/false,支持boolean,支持EL表达式"
-
foreach
<%--var用来指定循环中的变量--%> <%--begin开始--%> <%--end结束--%> <%--step步长--%> <%--底层实际上,会将1存储到pageContext域当中--%> <c:forEach var="i" begin="1" end="10" step="1"> ${i}<br> </c:forEach> <%--var="s"代表的是集合中的每个Student对象--%> <%--varStatus="这个属性表示var的状态对象,这里是一个java对象,这个java对象代表了var的状态"这个名字是随意的--%> <%--varStatus这个状态对象有count属性,可以直接使用--%>
-
choose
<c:choose> <c:when test="${param.age<18}"> 少年 </c:when> <c:when test="${param.age<35}"> 青年 </c:when> <c:when test="${param.age<55}"> 中年 </c:when> <c:otherwise> 老年 </c:otherwise> </c:choose> <%--类似if,else if--%>
-