JSTL标签库

JSTL标签库:Java  Standard  Tag  Lib(Java标准的标签库)

JSTL标签库,没有在servlet规范中,标签库jstl有单独的jar包需要单独引入;

JSTL标签库通常结合EL表达式一起使用。目的是让JSP中的java代码消失。

标签是写在JSP当中的,但实际上最终还是要执行对应的java程序。(java程序在jar包当中。)

JSTL标签库在IDEA中引入步骤:

Tomcat9之前(包含9)需要下载的JSTL标签库的两个jar包:

taglibs-standard-impl-1.2.5.jar

taglibs-standard-spec-1.2.5.jar

 

 Tomcat10之后引入两个jar包:javaEE9被Oracle捐献之后名字叫做:jakarta(音译雅加达)

 

- jakarta.servlet.jsp.jstl-2.0.0.jar

-jakarta.servlet.jsp.jstl-api-2.0.0.jar

下载链接:https://www.cnblogs.com/lwt280887072/p/16332504.html

IDEA中引入JSTL标签库jar包:

 

在WEB-INF下新建lib目录,然后将jar包拷贝到lib当中。然后将其“Add Lib...”

 

 

一定是要和mysql的数据库驱动一样,都是放在WEB-INF/lib目录下的。

 

在JSP使用 taglib 指令引入标签库中要使用的标签。

复制代码
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
这个就是核心标签库。
prefix="这里核心标签库,大家默认的叫做c,"

uri后面的路径实际上指向了一个xxx.tld文件。
tld文件实际上是一个xml配置文件。
在tld文件中描述了“标签”和“java类”之间的关系。
以上核心标签库对应的tld文件是:c.tld文件。
在jakarta.servlet.jsp.jstl-2.0.0.jar里面META-INF目录下,有一个c.tld文件。
复制代码

源码解析:配置文件tld解析

复制代码
<tag>
    <description>对该标签的描述</description>
    <name>catch</name> 标签的名字
<tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class> 标签对应的java类。
<body-content>JSP</body-content> 标签体当中可以出现的内容,如果是JSP,就表示标签体中可以出现符合JSP所有语法的代码。例如EL表达式。
<attribute> <description> 对这个属性的描述 </description> <name>var</name> 属性名 <required>false</required> false表示该属性不是必须的。true表示该属性是必须的。 <rtexprvalue>false</rtexprvalue> 这个描述说明了该属性是否支持EL表达式。false表示不支持。true表示支持EL表达式。 </attribute>
</tag> <c:catch var=""> JSP.... </c:catch>
复制代码

jstl中的核心标签库core当中常用的标签

c:if

 <c:if test="boolean类型,支持EL表达式"></c: if>

c:forEach

 <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 c:otherwise

复制代码
<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>
复制代码

 

posted @   280887072  阅读(92)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示