EL


EL 的全称是 Expression Language 是一种表达式语言,该语言主要用于替换 jsp 页面中 java 的代码。

语法:

${表达式}

jsp 默认是支持 el 表达式的,如果要忽略表达式的作用,需要在 jsp 中 page 指令的 isELIgnored 为 true。

或者说直接使用反斜杠注释

\$(2*3)

EL 运算符:

  • 算数运算符: + - * /(div) %(mod)

  • 逻辑运算符: &&(and) ||(or) !(not)

  • 空运算符: empty

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

    • ${empty list}: 判断字符串、集合、数组对象是否为 null 或者长度为 0

    • ${not empty str}: 表示判断字符串、集合、数组对象是否不为 null 并且 长度 > 0

获取值:

EL 表达式需要从域对象中获取值

获取值语法:

${域名称.键名}:从指定域中获取指定键的值

在这里来看看几个域名称都有哪些

域名称:

  1. pageScope

  2. requestScope

  3. sessionScope

  4. applicationScope

代码:

<%
  request.setAttribute("name","name");
%>
${requestScope.name}
${name}

这里可以直接使用键名获取,会依次从最小的域里面去查找是否有对应的值。

获取集合的值:

获取对象、List 集合、Map 集合的值

  • 对象:${域名称. 键名. 属性名} 本质上会去调用对象的 getter 方法

  • List 集合:${域名称. 键名 [索引]}

  • Map 集合:

    • ${域名称. 键名. key 名称}

    • ${域名称. 键名 ["key 名称"]}


Source & Reference

  • https://www.cnblogs.com/nice0e3/p/13544143.html