目录
JSTL标签库
什么是jstl标签库
- Java Standard Tag Lib (Java标准的标签库)
- JSTL标签库通常结合EL表达式一起使用。目的是让JSP中的java代码消失。
- 标签是写在JSP当中的,但实际上最终还是要执行对应的java程序。(java程序在jar包当中。)
使用jstl的步骤
(1)引入JSTL对应的jar包
在WEB-INF下面新建lib目录 然后把对应的jar包 复制过去
(2)在JSP中引入要使用的标签库。
(使用taglib指令引入标签库。)
在JSTL中有很多标签 使用哪个? 重点掌握核心标签库
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
prefix="c"随便起名字
(3)在需要使用标签的位置使用即可。
表面使用的是标签,底层实际上还是java程序。
JSTL标签原理:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
以上uri后面的路径实际上指向了一个×x×.tld文件。
tld文件实际上是一个xml配置文件。
在tld文件中描述了"标签"和"java类"之间的关系。
以上核心标签库对应的tld文件是:c.tld文件。它在哪里。
在jakarta.serv1et.jsp.jst1-2.0.0.jar里面META-INF目录下,有一个c.t1d文件。
配置文件:tld解析
<tag>
<description>对标签的描述</description>
<name>标签的名字</name>
<tag-class>标签对应java类</tag-class>
<body-content>JSP</body-content>标签体当中可以出现的内容,如果是JSp,
就表示标签体中可以出现符合JSp所有语法的代码。例如EL表达式。
<attribute>
<description>
对这个属性的描述
</description>
<name>var</name>属性名
<required>false</required>false表示该属性不是必须的
<rtexprvalue>false</rtexprvalue>false 不支持EL表达式
</attribute>
</tag>
常用的标签
JSTL中的核心标签库core当中有哪些常用的标签呢?
<c:if text="boolean类型,支持EL表达式"></c:if>
<c:forEach items="集合,支持EL表达式" var = "集合中的元素" varStatus="元素的状态对象">${元素状态对象:count}</c:forEach>
<c:forEach var="i" begin="1" end="10" step="2"> ${i}</c:forEach>
<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>