`

JSTL--核心标签库

 
阅读更多

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-api-1.2.jar、jstl-impl-1.2.jar

    **JSTL(JavaServer Pages Standard Tag Library)** 是一个标准的标签库,用于简化JavaServer Pages(JSP)开发。它提供了许多预定义的标签,使得开发者可以更方便地处理常见任务,如控制流、迭代、XML处理等,而...

    jstl标签jar包(jstl-api-1.2和jstl-impl-1.2)

    1. **jstl-api-1.2.jar**:这是JSTL的API接口定义,包含了所有JSTL标签库的接口和抽象类。开发人员在编写JSP页面时需要导入这个包,以便使用JSTL提供的各种标签。这个包不包含实际的实现,而是为编译时类型检查和...

    jstl-impl-1.2.jar.rar_ jstl-impl-1.2.jar _jstl-impl-1.2_jstl-imp

    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

    jstl-1.0.2.jar jstl.jar J2EE核心标签库 jstlJ2EE核心标签库jstl.jar

    包含jstl-api-1.2.1.jar,jstl-1.2.jar,jstl-impl-1.2.jar,standard-1.1.2.jar

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个标准的标签库,它为编写JSP页面提供了一种更为简洁和结构化的途径。这个压缩包中包含的四个核心组件是JSTL的重要组成部分,它们分别是: 1....

    jstl-api-1.2.jar和jstl-impl.jar

    例如,`&lt;c:if&gt;`, `&lt;c:for-each&gt;`, `&lt;fmt:formatDate&gt;`等都是JSTL提供的核心标签,用于条件判断、循环遍历和日期格式化等操作。通过引入`jstl-api-1.2.jar`,开发者可以清楚地知道这些标签的功能和用法,而无需关心其...

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

    JSTL主要包含以下几个核心标签库: 1. **Core Library**(c:):提供了基本的控制流和数据处理功能,如条件语句(if, choose, when, otherwise)、迭代(forEach, forTokens)、URL重写(redirect, url)等。 2. *...

    jst-1.2、jstl-api-1.2、jstl-impl-1.2的jar包

    JSTL的核心标签库(core)提供了常见的控制结构,如`&lt;c:if&gt;`和`&lt;c:forEach&gt;`,用于条件判断和循环。JDBC标签库(jdbc)支持数据库操作,如查询和事务管理。XML处理标签库(fmt)则用于XML文档的解析和操作。最后,...

    内含jstl-1.2、jstl-api-1.2、jstl-impl-1.2、standard-1.1.2

    JavaServer Pages Standard Tag Library (JSTL) 是Java Web开发中的一个重要组件,它提供了一组预定义的标签库,使得开发者能够用更简洁、更易读的XML-like语法来实现常见的JSP页面逻辑,比如迭代、条件判断、国际化...

    jstl-1.1.0.jar和jstl-1.2.0.jar

    **JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便使用的标签,用于简化HTML和Java代码的结合,提高开发效率。标题提到的`jstl-1.1.0.jar`和`jstl-...

    jstl-api-1.2.jar jstl-impl-1.2.jar mysql-connector-java-5.1.10-bin.jar

    JSTL(JavaServer Pages Standard Tag Library)是一个用于增强JSP页面功能的开源标签库,它提供了许多预定义的标签,使得开发者可以更加方便地处理常见任务,如迭代、条件判断、XML处理等,从而降低对Java脚本的...

    jstl-1.2.rar_JSTL_jstl 1.2_jstl jar_jstl-1.1.2.jar _jstl.jar

    `jstl-1.2.jar` 是这个版本的JSTL核心库文件,可以直接引入到Java Web项目中使用。 JSTL主要由以下几个核心组件组成: 1. **Core**:这是最基本的组件,提供了一系列的控制流标签,如迭代(`&lt;c:forEach&gt;`)、条件...

    jstl.jar,jstl-1.2.jar,jstl-api-1.2.jar

    JSTL提供了多种核心标签,涵盖了流程控制、字符串操作、XML处理等功能,极大地提高了Web开发效率。 标题中提到的三个文件`jstl.jar`、`jstl-1.2.jar`和`jstl-api-1.2.jar`在Java Web项目中起着关键作用: 1. **...

    Java web常用包javax.servlet.jsp.jstl-1.2.1.zip

    1. **核心标签库(Core Tags)**:这是JSTL中最基本的部分,提供了一系列用于控制流程、输出数据、URL重写等操作的标签。例如,`&lt;c:if&gt;`和`&lt;c:choose&gt;`用于条件判断,`&lt;c:forEach&gt;`用于循环遍历,`&lt;c:set&gt;`和`...

    jstl-1.2.jar

    它由五个核心标签库组成:Core(核心)、XML、Format(格式化)、Function(函数)和I18N(国际化)。这些库提供了处理循环、条件判断、国际化、XML操作等多种功能,使得JSP代码更加简洁,可读性更强。 2. jstl-1.2...

    jstl-1.2.jar standard-1.1.2.jar

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个重要的标准标签库,它提供了多种用于处理常见任务的标签,如迭代、条件判断、XML处理、URL操作等。JSTL的核心目标是减少JavaServer Pages...

    jstl-1.1.2.jar(及源码)、standard-1.1.2.jar(及源码)

    JSTL是JavaServer Pages标准标签库,它提供了一套用于处理常见JSP任务的标签,如迭代、条件判断、XML处理等,旨在减少在JSP页面中使用Java脚本的量,使页面更加清晰和易于维护。JSTL 1.1.2版本是我们这里讨论的重点...

    jstl-impl-jstl-api-1.2

    1. **Core**:核心标签库,提供了基本的控制结构,如条件语句(if/else)、循环(foreach)以及重定向和转发等。 2. **Format**:格式化标签库,用于日期、时间、数字的格式化,以及国际化的支持。 3. **Function*...

    javaee.jar,jsf-api.jar,jsf-impl.jar,jstl-1.2.jar

    4. **jstl-1.2.jar**:JSTL(JavaServer Pages Standard Tag Library)是一组预定义的标签库,用于简化JSP页面的开发。JSTL 1.2版本包括了核心标签、JDBC标签、XML标签和国际化的支持。这些标签可以用来处理常见任务...

    jstl1.2 api--jstl-1_2-mrel2-api.zip

    JavaServer Pages Standard Tag Library (JSTL) 是一个用于JSP页面的标准标签库,它提供了一系列的标签,使得开发者可以更方便地处理常见任务,如迭代、条件判断、XML处理、SQL操作等,而无需编写大量的Java脚本。...

Global site tag (gtag.js) - Google Analytics