zoukankan      html  css  js  c++  java
  • EL表达式与JSTL简单入门

    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"的对象,我们不需要通过${requestScope.productList}取出相应的对象,只需要${productList}即可取出相应的对象。

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

     
    JSTL概述
         JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标签库有5个子库,但随着发展,目前常使用的是他的核心库。

     
    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 

    下载与导入
        下载: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核心库的使用
    <c:if>标签
              1. 语法格式:

                           <c:if  test="xxx"   [var="xxx"]   [scope="{page|request|session|application}"]  >

                                            执行体

                           </c:if>

               2. 标签属性讲解:

                          test属性:用于设置逻辑表达式,当逻辑表达式为true时执行执行体

                          var属性:用于指定逻辑表达式中变量的名字

                           scope属性:用于指定var变量的作用范围,默认值是page。

               3.用法案例: 

    <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属性用于指定迭代的步长,即迭代的增长因子

       用法案例:

                 迭代集合对象:

         

                  迭代数组元素:

     

                                                        

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

  • 相关阅读:
    HashMap和HashTable有什么不同?
    JAVA基础查漏补缺(面向面试场景)
    JAVA--GC 垃圾回收机制----可达性分析算法
    如何优雅的设计 Java 异常
    Java多线程之捕获子线程中的异常---面试经
    Review: the foundation of the transaction、Transaction characteristics in Spring
    用Demo 去理解Java Object 的 wait() 和 notify() 方法
    决心彻底认知 Integer 和 int 对象创建的原理
    java 基础复习 -用Demo去认识String 类
    java 基础复习 -用Demo去认识数组
  • 原文地址:https://www.cnblogs.com/karmapeng/p/12243085.html
Copyright © 2011-2022 走看看