190719-01(EL 表达式){取值/解析/请求/判断/运算}

EL 表达式 = ?

EL是JSP 2.0增加的技术规范,其全称是表达式语言(Expression Language)。EL语言的灵感来自于ECMAScript和XPath表达式语言。EL表达式语言是一种简单的语言,提供了在JSP中简化表达式的方法,目的是为了尽量减少JSP页面中的Java代码,使得JSP页面的处理程序编写起来更加简洁,便于开发和维护。



EL 语法:

在JSP中访问模型对象是通过EL表达式的语法来表达。

所有EL表达式的格式都是以“${}”表示。

例如,${ userinfo)代表获取变量userinfo的值。

当EL表达式中的变量不给定范围时,则默认在page范围查找,然后依次在request、session、application范围查找。

也可以用范围作为前缀表示属于哪个范围的变量,例如:${ pageScope. userinfo)表示访问page范围中的userinfo变量。

EL 取值、取值的优先级:

EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。

EL 表达式从指定的作用域取值:

${pageScope.scope}---${requestScope.scope}---${sessionScope.scope}---${applicationScope.scope}

EL 表达式可以解析基本数据类型、对象类型、复合对象类型、Map、List

${list[0]} ---- ${map.address} ---- ${user.realname} ---- ${user["realname"]} ---- ${user.addr.town}

※ 当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[" "]“。

例如:${ user. My-Name}应当改为${user["My-Name"]}

EL 请求参数的数据:param、paramValues:

${param.name}

${paramValues.fav[1]}


请求结果


EL 表达式可以做为空判断:空字符串、null、空map、空list 返回结果为true

request.setAttribute("aaa", "");

${empty aaa}

pageContext.setAttribute("scope", "pageContext");

${empty pageScope}

EL 表达式可以做基本的逻辑运算,和数学运算:

${5+4}---${5-4}---${5*4}---${5/4}---${5%4}---

${5<4}---${5>4}---${5<=4}---${5>=4}---${5+"4"}---${5 le 4}---${5 eq 4}

※EL 表达式没有字符串拼接的概念,也没有字符的概念 

算术运算符和逻辑运算符


EL 表达式中pageContext可以获取pageContext作用域对象本身

${pageContext}

你可能感兴趣的:(190719-01(EL 表达式){取值/解析/请求/判断/运算})