zoukankan      html  css  js  c++  java
  • 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]}
     
     
     
     
  • 相关阅读:
    bzoj1415 NOI2005聪聪和可可
    Tyvj1952 Easy
    poj2096 Collecting Bugs
    COGS 1489玩纸牌
    COGS1487 麻球繁衍
    cf 261B.Maxim and Restaurant
    cf 223B.Two Strings
    cf 609E.Minimum spanning tree for each edge
    cf 187B.AlgoRace
    cf 760B.Frodo and pillows
  • 原文地址:https://www.cnblogs.com/ygj0930/p/6684424.html
Copyright © 2011-2022 走看看