一、JSTL 简介
- JSTL:JavaServer Pages Standard Tag Library
- 由JCP(Java Community Process)指定标准,提供给 Java Web 开发人员一个标准通用的标签函数库
- 和 EL 配合来取代传统直接在页面上嵌入 Java 程序(Scripting)的做法,以提高程序可读性、维护性和方便性
二、JSTL1.1安装
- JSTL 主要由Apache组织的Jakarta Project 实现
- 下载地址:http://tomcat.apache.org/taglibs/standard/
- 容器必须支持Servlet 2.4 且JSP 2.0 以上版本
- JavaEE1.4
- 解压缩后将lib 中的jstl.jar、standard.jar 复制到WEB应用程序的WEB-INF\lib 下
三、JSTL标签库
- 核心标签库 (core) --- c
- 国际化标签 fmt
- 数据库标签 sql --Servlet
- XML标签 xml
- JSTL函数(EL函数) el
四、核心标签库
-
<c:out>标签:用于输出一段文本内容到pageContext对象当前保存的“out”对象中
c:out 输出内容到浏览器端 输出固定值 <c:out value="Hello c out~"/> 输出变量 <c:out value="${m}"/> 转义html,默认为转义,可以设置escapeXml属性为false,禁止转义 <c:out value="<a href='#'>link</a>" escapeXml="false"/> 允许输出默认值,如果给定值不存在,输出默认值 <c:out value="${city}" default="北京"/>
- <c:set>标签:用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性。
c:set 设置值到四个域,设置四个范围中的java对象的属性、在指定域中增加、修改属性 <c:set var="name" value="value" scope="page"/> 设置一个保存在四个范围的java对象的属性值,cset不能设置对象进域,但是可以更改域中对象的属性 <c:set targe="${person}" property="name" value="lisi"/>
- <c:remove>标签:用于删除各种Web域中的属性
其语法格式如下: <c:remove var="varName" [scope="{page|request|session|application}"] />
c:remove用来删除四个域中的值 <c:remove var="age" scope="page"/>
- <c:catch>标签:用于捕获嵌套在标签体中的内容抛出的异常
语法格式如下: <c:catch [var="varName"]>nested actions</c:catch> var属性用于标识<c:catch>标签捕获的异常对象,它将保存在page这个Web域中。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=gb2312" %> <c:catch var="myex“ > <% 10/0; %> </c:catch> 异常:<c:out value="${myex}" /> ${myex}<br /> 异常 myex.getMessage:<c:out value="${myex.message}" /><br /> 异常 myex.getCause:<c:out value="${myex.cause}" /><br /> 异常 myex.getStackTrace:<c:out value="${myex.stackTrace}" />
<c:catch var="e"> <% String s = null; s.charAt(1); %> </c:catch> ${e.message}
- <c:if>标签:可以构造简单的“if-then”结构的条件表达式
c:if 用来取代页面中if语句,请记住,没有c:else,想要写else,只能再写个c:if,然后条件是反的 <c:if test="${n>5}"></c:if>
- <c:choose>标签:用于指定多个条件选择的组合边界,它必须与<c:when>和<c:otherwise>标签一起使用。使用<c:choose>,<c:when>和<c:otherwise>三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=gb2312" %> <c:set value="${param.count}" var="count" /> <c:choose> <c:when test="${count == 0}"> 对不起,没有符合您要求的记录。 </c:when> <c:otherwise> 符合您要求的记录共有${count}条. </c:otherwise> </c:choose>
c:choose c:when c:otherwise 一起使用,取代if elseif else 或 swich case <c:choose> <c:when test="${weekday==1}"> 星期一 </c:when> <c:when test="${weekday==1}"> 星期二 </c:when> <c:when test="${weekday==1}"> 星期三 </c:when> <c:otherwise> 输入无效 </c:otherwise> </c:choose>
- <c:forEach>标签:用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。
<% int atts[] = {1,2,3,4,5,6,7,8,9,10}; request.setAttribute("atts", atts); %> <c:forEach items="${atts}" var="item" begin="0" end="9" step="1" > ${item}</br> </c:forEach>
- varStatus属性:用来存放现在指到之成员的相关信息
<c:forEach begin="10" end="100" step="2" var="i"varStatus="status"> <c:if test="${status.count}%3 == 0"> <font color="red">${i}</font> </c:if> <c:if test="${status.count}%3 != 0"> <font color="blue">${i}</font> </c:if> </c:forEach> ------------------------------------------------------------------------------------------------- <c:forEach var="i" begin="100" end="200" step="5" varStatus="status"> <c:if test="${status.first}"> begin:<c:out value="${status.begin}">begin</c:out> end:<c:out value="${status.end}">end</c:out> step:<c:out value="${status.step}">step</c:out> <br/> sequence: </c:if> <c:out value="${i}"/> <c:if test="${status.last}"> <br/>There are <c:out value="${status.count}"/> numbers in the list. </c:if> </c:forEach> ---------------------------------------------------------------------------------------------- <% Map<String,String> map = new HashMap<String,String>(); map.put("001","aaa"); map.put("002","bbb"); map.put("003","ccc"); request.setAttribute("map",map); %> <c:forEach var="m" items="${requestScope.map}"> ${m.key } , ${m.value } <br/> </c:forEach>
- <c:forTokens>:用来浏览一字符串中所有的成员,其成员是由定义符号所分隔的
c:forTokens 切割字符串(复习 StiringTokenize类) <c:forTokens items="${s}" delims="," var="e"> ${e} </c:forTokens>
- <c:param>标签 :在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为这些标签所使用的URL地址附加参数
- <c:param>标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用<c:param>标签的最大好处
- 示例:<c:param name="name" value="value" />
- <c:import> 标签:
引入1.jsp的输出,拼接到当前jsp的输出中 <c:import url="/1.jsp" context="/day08"/> 引入1.jsp的输出,保存到scope域中以var指定名为名称的属性中 <c:improt url="/1.jsp" context="/day08" var="content" scope="page"/>
- <c:url>标签:用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面
<c:url value="/index.jsp"context="/day04" var="myurl2"scope="page"> <c:param name="username" value="张三"></c:param> </c:url>
- <c:redirect>标签:用于实现请求重定向
<c:redirect url="/index.jsp" context="/day08"/>
相关推荐
JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...
本篇文章将深入探讨JSTL标签库的配置过程及其在实际应用中的作用。 首先,我们要理解**JSTL的核心组件**。JSTL主要由五个核心部分组成:Core、Format、I18N、SQL和XML。其中,Core组件包含了大部分用于控制流程、...
每个`taglib`元素定义了一个TLD(Tag Library Descriptor)文件的位置,这告诉服务器JSTL标签库的位置和元数据。 总之,JSTL通过提供丰富的标签来增强JSP页面的功能,而解决"无法解析绝对uri"的错误通常涉及到正确...
**JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的标签库,主要用于简化JSP页面中的Java代码,提高JSP页面的可读性和维护性。在Tomcat 10这个高性能、轻量级的Servlet容器中,JSTL的使用...
二、JSTL标签库 JSTL是Java Web开发的标准标签库,它包含五个核心部分:Core、Format、I18N、XML和SQL。这些标签提供了丰富的功能,例如控制流、格式化、国际化、XML处理和数据库操作。 1. **Core标签**:包括if、...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组预定义的HTML和XML标签,用于简化JavaServer Pages(JSP)开发。它提供了更面向声明的编程方式,使开发者可以更专注于业务逻辑...
JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它为JSP开发者提供了一系列预定义的、可重用的标签,以简化网页开发过程,提高代码的可读性和可维护性。JSTL主要由以下几个核心部分组成...
- 使用JSTL标签库可以提高代码的可读性和可维护性,降低HTML和Java代码的混合程度。 - 结合EL,可以进一步减少脚本let的使用,使JSP页面更加整洁。 - 注意,JSTL的SQL标签库不适用于复杂的数据库操作,现代Web应用...
以下是关于JSTL标签库所需导入的JAR包及其功能的详细解释: 1. **jstl.jar**:这是核心JSTL库,包含了大部分常用的标签,如 `<c:if>`, `<c:forEach>`, `<fmt:formatDate>` 等。这些标签提供了条件判断、循环、格式...
jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2。 jstl标准标签库的三个jar包:jstl-1.2、jstl-api-1.2、jstl-impl-1.2...
JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...
### JSTL标签库及其下载 #### JSTL概述 JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)是一组用于开发JavaServer Pages页面的标准标签集合。这些标签简化了JSP页面的编写工作,使...
**JSTL标签库与JAR包详解** JavaServer Pages Standard Tag Library(JSTL)是Java EE领域中用于简化JSP开发的一个重要工具。它提供了一组预定义的标签,帮助开发者更高效地处理常见任务,如迭代、条件判断、国际化...
JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是Java Web开发中常用的一个库,它提供了一系列预定义的标签,用于简化JSP页面中的逻辑代码,使得页面更加清晰易读。在给定的压缩包...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中不可或缺的一部分,它为JSP页面提供了一套标准的标签,用于简化HTML和XML文档的处理,提高代码的可读性和可维护性。JSTL的使用极大地减少...
在本资源包中,你将找到两个重要的JSTL相关文件——`jstl.jar`和`standard.jar`,以及一个名为`JSTL标签库配置.doc`的文档,它们是配置和使用JSTL标签库所必需的。 **一、jstl.jar和standard.jar** 1. **jstl.jar*...
【JSTL标签库】是Java服务器页面(JSP)的一种标准标签库,由Sun Microsystems公司发布,旨在简化JSP页面的开发。JSTL提供了一系列预定义的标签,用于处理常见的任务,如数据输出、流程控制、循环、XML处理、国际化...
JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及