1:<c:out>标签
<c:out value="${Object }" escapeXml="${boolean }" default="${Object }" /> <c:out value="${Object }" escapeXml="${boolean }"> ${Object} </c:out>
注意:
a:
value的类型为Object,即value可以为Reader对象,使用该标签输出Reader对象时,如果要读取的文件的内容使用了非西欧字符集编码(如UTF-8、GBK等),应使用InputStreamReader类的构造方法指定读取文件内容时所采用的字符集编码(应和要读取的文件内容的字符集编码保持一致)。 Reader r=new InputStreamReader(new FileInputStream(path) , " utf-8 ");
b:
如何将value置为null ? 1:使用JSP表达式 <c:out value="<%=null %>" /> 2:使用E L表达式 <c:out value="${null }" /> 下面的方法不能见value置为null <c:out value="null" />
c:
default属性和标签体不能同时指定默认值,否则抛出异常。
2:<c:set>标签
a:“var”版
<c:set var="String" value="${Object }" scope="String" /> <c:set var="String" scope="String"> ${Objet} </ c:set> 属性: var:待设置的web域中的属性的名字 value:属性的值 scope:待保存或删除的属性所属的web域,可选值为 page、request、session、application 注意: 如果不指定value属性或标签体,该标签将删除scope指定的域中的var指定的属性
b:“target”版
<c:set target="${Object}" property="${String}" value="${Object}" /> <c:set target="${Object}" property="${String}"> ${Object} </c:set> 属性: target:指定要设置的对象,JavaBean或Map property:待设置的target对象的属性名称 value:同var版 注意: 1:如果不指定value属性或标签体,该表签将删除target指定的Map对象中的property指定的 key-value对,或将target指定的JavaBean对象的property属性置为null。 2:如果属性值不能转换成property属性指定的对象类型,该标签将抛出异常。
注意:
1:该标签不能同时指定value属性和标签体,否则将抛出异常。
2:如果同时指定var和target,那么var属性的优先级更高。
3:var和target属性必须至少有一个,如果2个属性都没有或2属性都为null,那么标签将抛出JspTagException异常。
3:<c:remove>标签
<c:remove>标签用于删除web域(page、request、session、application)中的属性,不能用来删除JavaBean和Map对象中的属性、键值对。 <c:remove var="String" [scope="String"] /> 属性: var:String 不支持动态属性值 待删除的属性的名称 scope:String 不支持动态属性值 待删除的属性所在的web域
4:<c:catch>标签
该标签用于捕获任何Java代码或标签抛出的异常。 <c:catch [value="varName"]> </c:catch> 属性: var:String 不支持动态属性值 表示捕获到的异常对象。 如果指定该属性,该标签会以var属性指定的名称将异常对象保存在page域中。 如果未指定该属性,则该标签只捕获异常,不保存异常。 补充: 通过异常对象输出异常信息的方式: 1:<c:out value="${e.message}"/> 输出举例:Cannot convert xxx of type class java.lang.String to class java.util.Date 2:<c:out value="${e.stackTrace}"/> 输出举例:[Ljava.lang.StackTraceElement;@157ea4a 3:<c:out value="${e}"> 输出举例:java.lang.IllegalArgumentException:Cannot convert xxx of type class java.lang.String to class java.util.Date
5:<c:if>标签
<c:if test="${boolean}" var="varName" scoope="page"> <c:if test="${boolean}" var="varName" scope="page"> 如果test指定属性的运算结果为真,则执行此处的代码。 </c:if> 注意: 当指定scope属性时,必须指定var,否则该标签将抛出异常。
6:<c:choose> <c:when> <c:otherwise>标签
<c:choose> <c:when test="${boolean}"> 代码 </c:when> <c:when test="${boolean}"> 代码 </c:when> <c:otherwise> 代码 </c:otherwise> <c:choose>
注意:
1:<c:when>和<c:otherwise>标签必须是<c:choose>标签的子标签,不能单独使用。
2:<c:choose>标签中包含一个或多个<c:when>标签,包含0个或1个<c:otherwise>标签。
3:<c:when>标签必须放在<c:otherwise>标签的前面。
4:<c:when>和<c:otherwise>标签中可以包含任意的JSP代码。
5:<c:choose>标签中除了包含<c:when>和<c:otherwise>标签外,还可以包含空格、\r\n、制表符和JSP注释,除此之外不能在<c:choose>标签中(<c:when>和<c:otherwise>标签的外部)
包含其他任何字符,否则<c:choose>标签将抛出异常。
7:<c:forEach>标签
语法1:根据集合对象进行迭代 <c:forEach [var="varName"] items="${collection}" [varStatus="varStatusName"] [begin="${beginNum}"] [end="${endNum}"] [step="${steoNum}"]> 需迭代执行的代码 </c:forEach> 语法2:根据指定的次数进行迭代 <c:forEach [var="varName"] [varStatus="varStatusName"] begin="${beginNum}" end="${endNum}" [step="${stepNum}"]> 需迭代执行的代码 </c:forEach>
属性名 | 是否支持动态属性值 | 属性类型 | 属性描述 |
var | false | String | 将当前迭代元素保存在page域中所用的属性名 |
items | true | (见下面) | 用于迭代的集合对象 |
varStatus | false | String | 将当前迭代元素状态信息对象保存在page域中所用的属性名 |
begin | true | int |
如果指定items属性,就从集合中第begin个元素开始迭代。 如果未指定items属性,那么就从begin指定的数值开始迭代,直到end指定的值。 begin属性的索引值从0开始。 |
end | true | int |
如果指定items属性,则迭代到第end个集合元素为止。 如果未指定items属性,则迭代到end指定的值。 |
step | true | int | 迭代的步长,即每迭代一步的迭代增量。 |
注意:
1:如果指定begin属性,该属性的值必须大于或等于0,否则会抛出java.servlet.jsp.JspTagException异常。
2:如果指定end属性,该属性的值不能小于begin属性的值,否则不会进行迭代操作。
3:如果指定step属性,该属性的值必须大于或等于0,否则会抛出java.servlet.jsp.JspTagException异常。
4:如果items属性的值为null,或items属性指定的集合对象不存在,items属性值将被作为一个空集合对待,不会进行任何迭代操作。
5:如果begin属性值大于或等于集合对象的元素个数,则不会进行迭代操作。
6:如果begin属性值在有效范围内,但end属性值大于或等于集合对象的元素个数,则迭代到集合对象的最后一个元素为止。
7:items属性支持如下的数据类型;
1:任意类型的数组
2:java.util.Collection
3: java.util.Iterator
4: java.util.Enumeration
5: java.util.Map
6: String
如果items属性值是String类型该字符串必须用逗号分隔。<c:forEach>标签会将以逗号分隔的字符串当做String数组来处理(每一个被逗号分隔的子串相当于String数组中的一个元素)
相关推荐
**JSTL(JavaServer Pages Standard Tag Library)** 是一个标准的标签库,用于简化JavaServer Pages(JSP)开发。它提供了许多预定义的标签,使得开发者可以更方便地处理常见任务,如控制流、迭代、XML处理等,而...
1. **jstl-api-1.2.jar**:这是JSTL的API接口定义,包含了所有JSTL标签库的接口和抽象类。开发人员在编写JSP页面时需要导入这个包,以便使用JSTL提供的各种标签。这个包不包含实际的实现,而是为编译时类型检查和...
JSTL(JavaServer Pages Standard Tag Library)是Java EE平台的一部分,它提供了一套标准标签库,用于简化JSP页面的开发,减少在页面中使用脚本元素的需要。 JSTL的主要组件包括Core、XML、JDBC、JSTL Functions和...
jstl-1.0.2.jar jstl.jar J2EE核心标签库 jstlJ2EE核心标签库jstl.jar
在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个标准的标签库,它为编写JSP页面提供了一种更为简洁和结构化的途径。这个压缩包中包含的四个核心组件是JSTL的重要组成部分,它们分别是: 1....
例如,`<c:if>`, `<c:for-each>`, `<fmt:formatDate>`等都是JSTL提供的核心标签,用于条件判断、循环遍历和日期格式化等操作。通过引入`jstl-api-1.2.jar`,开发者可以清楚地知道这些标签的功能和用法,而无需关心其...
JSTL主要包含以下几个核心标签库: 1. **Core Library**(c:):提供了基本的控制流和数据处理功能,如条件语句(if, choose, when, otherwise)、迭代(forEach, forTokens)、URL重写(redirect, url)等。 2. *...
JSTL的核心标签库(core)提供了常见的控制结构,如`<c:if>`和`<c:forEach>`,用于条件判断和循环。JDBC标签库(jdbc)支持数据库操作,如查询和事务管理。XML处理标签库(fmt)则用于XML文档的解析和操作。最后,...
JavaServer Pages Standard Tag Library (JSTL) 是Java Web开发中的一个重要组件,它提供了一组预定义的标签库,使得开发者能够用更简洁、更易读的XML-like语法来实现常见的JSP页面逻辑,比如迭代、条件判断、国际化...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便使用的标签,用于简化HTML和Java代码的结合,提高开发效率。标题提到的`jstl-1.1.0.jar`和`jstl-...
JSTL(JavaServer Pages Standard Tag Library)是一个用于增强JSP页面功能的开源标签库,它提供了许多预定义的标签,使得开发者可以更加方便地处理常见任务,如迭代、条件判断、XML处理等,从而降低对Java脚本的...
JSTL提供了多种核心标签,涵盖了流程控制、字符串操作、XML处理等功能,极大地提高了Web开发效率。 标题中提到的三个文件`jstl.jar`、`jstl-1.2.jar`和`jstl-api-1.2.jar`在Java Web项目中起着关键作用: 1. **...
1. **核心标签库(Core Tags)**:这是JSTL中最基本的部分,提供了一系列用于控制流程、输出数据、URL重写等操作的标签。例如,`<c:if>`和`<c:choose>`用于条件判断,`<c:forEach>`用于循环遍历,`<c:set>`和`...
它由五个核心标签库组成:Core(核心)、XML、Format(格式化)、Function(函数)和I18N(国际化)。这些库提供了处理循环、条件判断、国际化、XML操作等多种功能,使得JSP代码更加简洁,可读性更强。 2. jstl-1.2...
在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个重要的标准标签库,它提供了多种用于处理常见任务的标签,如迭代、条件判断、XML处理、URL操作等。JSTL的核心目标是减少JavaServer Pages...
JSTL是JavaServer Pages标准标签库,它提供了一套用于处理常见JSP任务的标签,如迭代、条件判断、XML处理等,旨在减少在JSP页面中使用Java脚本的量,使页面更加清晰和易于维护。JSTL 1.1.2版本是我们这里讨论的重点...
1. **Core**:核心标签库,提供了基本的控制结构,如条件语句(if/else)、循环(foreach)以及重定向和转发等。 2. **Format**:格式化标签库,用于日期、时间、数字的格式化,以及国际化的支持。 3. **Function*...
4. **jstl-1.2.jar**:JSTL(JavaServer Pages Standard Tag Library)是一组预定义的标签库,用于简化JSP页面的开发。JSTL 1.2版本包括了核心标签、JDBC标签、XML标签和国际化的支持。这些标签可以用来处理常见任务...
JavaServer Pages Standard Tag Library (JSTL) 是一个用于JSP页面的标准标签库,它提供了一系列的标签,使得开发者可以更方便地处理常见任务,如迭代、条件判断、XML处理、SQL操作等,而无需编写大量的Java脚本。...
2. **配置JSP** - 在JSP页面的`<jsp:directive.page>`元素中添加`xmlns:c="http://java.sun.com/jsp/jstl/core"`来启用JSTL核心标签库,并通过`<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>`...