• EL表达式学习笔记


     转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6684424.html 

    一:EL表达式的用途

    1、获取数据:(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
    2、执行运算:基本的关系运算、逻辑运算和算术运算
    3、获取web开发的内置对象
    4、调用Java方法:允许用户开发自定义EL函数,在JSP页面中通过EL表达式调用Java类的方法。
     
    二:JSP页面中开启EL表达式
    <%@ page isELIgnored="false"%>:TRUE表示禁止.FALSE表示不禁。
     
    三:EL表达式获取对象数据
    EL表达式获取数据语法:"${标识符}"
    EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
    1:获取变量值:${name}
    2:获取对象属性:${bean.attribute}
    3:获取list、数组等数据结构的元素的属性:${list[i].attribute}
    4:迭代遍历数组:<c:forEach var="item" items="${list}"> ${item.attribute}  </c:forEach>
     5:获取map中值:${map.key}、 ${map[key]}
     
    四:EL表达式隐含对象
    EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。
      语法:${隐式对象名称.XX}:获得对象的某属性值。
    序号 隐含对象名称 描 述
    1 pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
    2 pageScope 代表page域中用于保存属性的Map对象
    3 requestScope 代表request域中用于保存属性的Map对象
    4 sessionScope 代表session域中用于保存属性的Map对象
    5 applicationScope 代表application域中用于保存属性的Map对象
    6 param 表示一个保存了所有请求参数的Map对象
    7 paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
    8 header 表示一个保存了所有http请求头字段的Map对象,注意:如果头里面有“-” ,例Accept-Encoding,则要header[“Accept-Encoding”]
    9 headerValues 表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
    10 cookie 表示一个保存了所有cookie的Map对象
    11 initParam 表示一个保存了所有web应用初始化参数的map对象
     
     
    五:EL表达式的运算
    1:四则运算
    加法运算:${365+24}
    减法运算:${365-24}
    乘法运算:${365*24}
    除法运算:${365/24}
     
    2:关系运算
    ${num1 op num2}
     
    3:空判断运算
    empty(obj):检查obj是否为空
     
    4:[]与.运算符:都可以用来获取对象的数据。
         当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。
         ${user.My-Name}应当改为${user["My-Name"] }
         如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如:
         ${sessionScope.user[data]}
     
     
     
     
  • 相关阅读:
    vue vxetable表格
    Microsoft Visual Studio 配置汇编语言开发环境
    前端代码工程学
    面向未来的100项颠覆性技术创新
    打印程序
    A Sketch of the Biggest Idea in Software Architecture
    2021 年年度最佳开源软件
    如何让一个层垂直居中
    最佳Icon图标库推荐,收藏等于学会
    asp.net mvc框架之Filter的使用
  • 原文地址:https://www.cnblogs.com/ygj0930/p/6684424.html
Copyright © 2020-2023  润新知