JavaWeb 之 EL表达式

Posted niujifei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb 之 EL表达式相关的知识,希望对你有一定的参考价值。

EL 表达式

一、概述

  1、概念

    EL 表达式:Expression Language 表达式语言。

  2、作用

    替换和简化 jsp 页面中 java 代码的编写。

  3、语法格式

$表达式

  4、注意事项

    jsp 默认是支持 el 表达式的。

    如果要忽略 el 表达式,有两种方式

     (1)设置 jsp 中 page 指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式

     (2)\$表达式:这种方式忽略当前这个 el 表达式,会在当前页面呈现原有格式。

二、运算符

  1、算数运算符

+、-、*、/(div)、%(mod)

    注意:其中的除号可以用 div 来代替,取余可以用 mod 来代替。

  2、比较运算符

 >  <  >=  <=  ==  !=

  3、逻辑运算符

&&(and)  ||(or)  !(not)

  4、空运算符

    空运算符:empty

    功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0

    Demo:

$empty list:判断字符串、集合、数组对象是否为null或者长度为0,为空或为0返回 true,不然返回 false
$not empty str:表示判断字符串、集合、数组对象是否不为null 并且 长度>0;不为空或长度不为0返回 true,不然返回 false

  

三、获取值

  1、el 表达式只能从域对象中获取值

  2、语法

    (1)$域名称.键名:从指定域中获取指定键的值

域名称 作用域
pageScope pageContext
requestScope request
sessionScope session
applicationScope application(ServletContext)

       Demo:

1 // 在 request  域中存储了 name=小明
2   request.setAttribute("name","小明");
3 // 从request 域根据键获取值
4   $requestScope.name

    注意:如果在域中没有对应的键值对,会返回空字符串""

    (2)$键名:表示依次从最小的域中查找是否有该键对应的值,直到找到位置

pageContext < request < session < application

    (3)获取对象、List 集合、Map 集合的值

       1. 获取对象

          语法格式

$域名称.键名.属性名    // 根据键名来获取存储的对象,然后去调用对象的 getter 方法。

          注意:这里的属性名是指JavaBean里面的 setter 和 getter 方法去掉 set或get,然后首字母变小写就是属性了。

       2. 获取 List 集合元素

          语法格式

$域名称.键名[索引]    // 根据键名来获取 list 集合,然后用下标来访问集合中的元素

          注意:如果发生了下标越界,并不会报错,而是显示为空字符串。

          3. 获取 Map 集合元素

          语法格式

 $域名称.键名.key名称
 $域名称.键名["key名称"]

 

四、EL 隐式对象

  (1)el 表达式中有 11 个隐式对象

  (2)常用的 pageContext:可以获取 jsp 其他的八个内置对象。

     常用的方法:

$pageContext.request.contextPath:动态获取虚拟目录

  

以上是关于JavaWeb 之 EL表达式的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb笔记之EL表达式

javaweb之EL自定义函数

JavaWeb之EL表达式

JavaWeb之JSTL标签库

javaWeb基础之jsp

javaWEB与EL表达式