EL表达式(Expression Language)

EL简介

  •  ELJSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。

  •  EL表达式用于代替JSP表达式(<%= %>)页面中输出操作。(到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段)
  •  EL表达式仅仅用来读取数据,而不能对数据进行修改。
  •  使用EL表达式输出数据时,如果有则输出数据,如null则什么也不输出。

EL基本使用

  •  EL表达式总是放在{}中,而且前边有一个$作为前缀。
    •  ${EL表达式}
  • 获取的对象可以直接使用对象名,如获取域中名字为user的对象
    •  ${user}
  • 获取对象的属性值可以直接通过“对象.属性
    •  ${user.name}
    •  ${user.age}
    • 注意:这里的属性名是getset方法对应的属性值,并不是对象中的变量名。
      • 比如如果获取name属性值,那么对象中必定要存在一个getName()方法。
  • 获取对象的属性也可以通过“对象[属性名”]
    •  ${user[“name”]}
    •  ${user[“age”]}
  • 获取Map属性时可以以直接通过属性的key
    •  ${map.key}
    •  ${map[key]}
  • 指定域中获取属性
    • EL表达式中如果我直接使用属性名${user},它将会在四个域中由到大依次查找顺序pageScoperequestScopesessionScopeapplicationScope
    • 也可以指定从哪个域中获取:
    1.  ${ pageScope .user}当前页面
    2.  ${requestScope.user}当前请求
    3.  ${sessionScope.user}当前会话
    4.  ${sessionScope.user}当前应用

EL隐含对象

  •  EL中包含11隐含对象,这些对象可以在EL表达式中直接使用

pageContext

  •  pageContextJSP中的pageContext功能一样

请求域

  •  请求域主要用于获取域对象中的属性,四个对象分别对应四个请求域。
  1.  pageScope
  2.  requestScope
  3.  sessionScope
  4.  applicationScope

请求参数

  •  参数对象主要用于获取getpost请求中参数
    •  param
      •  获取指定的请求参数, ${param.username}
    •  paramValues
      •  获取请求参数数组,如:${paramValues.sport[1]}

其他

  •  header
  •  headerValues
  •  initParam
  •  cookie

EL逻辑运算

运算符

说明

范例

结果

+

${17+5}

22

-

${17-5}

12

*

${17*5}

85

/div

${17/5}${17 div 5}

3

%mod

取余

${17%5}${17 mod 5}

2

==eq

等于

${5==5}${5 eq 5}

true

!=ne

不等于

${5!=5}${5 ne 5}

false

<lt

小于

${3<5}${3 lt 5}

true

>gt

大于

${3>5}${3 gt 5}

false

<=le

小于等于

${3<=5}${3 le 5}

true

>=ge

大于等于

${3>=5}${3 ge 5}

false

&&and

并且

${true&&false}${true and false}

false

!not

${!true}${not true}

false

||or

或者

${true||false}${true or false}

true

empty

是否为空

${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回trueempty还可以与not!一起使用。${not empty “”}

true

原文地址:https://www.cnblogs.com/kangxingyue-210/p/7614783.html