学习Javaweb第十天


一、JSTL的介绍

JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

1.JSTL五大子库

  Core (核心库)  标签库的URI:http://java.sun.com/jsp/jstl/core  常用前缀:c

  I18N(国际化)   标签库的URI:http://java.sun.com/jsp/jstl/fmt 常用前缀:fmt

  SQL             标签库的URI:http://java.sun.com/jsp/jstl/sql  常用前缀:sql

  XML             标签库的URI:http://java.sun.com/jsp/jstl/xml 常用前缀:x

  Functions       标签库的URI:http://java.sun.com/jsp/jstl/functions  常用前缀:fn 

2.下载与导入

下载:Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载 JSTL的压缩包。jakarta-taglibs-standard-1.1.2.zip

导入:解压后在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD),将两个文件导入项目中。

二、JSTL核心库的使用

1.<c:if>标签

  1. 语法格式:

            <c:if  test="xxx"   [var="xxx"]   [scope="{page|request|session|application}"]  >
    
                                 执行体
    
            </c:if>
    
  2. 标签属性讲解:

                  test属性:用于设置逻辑表达式,当逻辑表达式为true时执行执行体
    
                  var属性:用于指定逻辑表达式中变量的名字
    
                   scope属性:用于指定var变量的作用范围,默认值是page。
    

3.用法案例:
在这里插入图片描述

2.<c:forEach>标签

两种语法格式:

            1.迭代集合对象:

                            <c:forEach items="xxx"   [var="xxx"]   [varStatus="xxx"]   [begin="xxx"]   [end="xxx"]   [step="xxx"]>
                                         循环体.....
                            </c:forEach>

             2.迭代数组:

                             <c:forEach   begin="xxx"  end="xxx"   [var="xxx"]   [varStatus="xxx"]   [step="xxx"]>
                                          循环体....
                             </c:forEach>

标签属性讲解:

1.items属性用于指定将要迭代的对象

2.var属性用于指 将当前迭代到的元素保存到page域中的名称(可以通过${xxx}获得对象)

3.varStatus属性用于指定当前迭代状态信息的对象保存到page域中的名称

                         varStatus属性可以获取以下信息:

                                       count:表示元素在集合中的序号,从1开始

                                       index:表示当前元素在集合中的索引,从0开始

                                       first:表示当前是否为集合中的第一个元素

                                       last:表示当前元素是否为集合中最后一个元素

4.begin属性用于指定从集合中的第几个元素开始迭代,begin的索引值从0开始

5.step属性用于指定迭代的步长,即迭代的增长因子

三、EL概述

EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。

简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过<%= %>来取出域中的数据,但这种方式 过于繁琐,所以就诞生了EL表达式

EL取出JSP四大域对象中保存的数据:

pageContext域:${pageScope.key};
request域:${requestScope.key};
session域:${sessionScope.key};
application域:${applicationScope.key};

EL从四个域中获得某个值:
写法:${key};

例:如果在request域中存储了一个名为"productList"的对象,我们不需要通过 r e q u e s t S c o p e . p r o d u c t L i s t 取 出 相 应 的 对 象 , 只 需 要 {requestScope.productList}取出相应的对象,只需要 requestScope.productList{productList}即可取出相应的对象。

相当于pageContext.findAttribute()从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找.

总结

在前端JSP页面中会经常用到EL表达式,和JSTL标签库,EL表达式使得取出request域和其它域中数据变得极其方便,JSTL免去了<%= %>的繁琐操作。我介绍的JSTL的两个标签是核心库中最常用的两个,它们两个标签可以解决大多数问题。当然JSTL标签库中的标签远不止这些,有兴趣的小伙伴可以深入了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值