EL表达式

EL表达式基本的语法格式:${表达式}

EL表达式优先从小范围中读取数据。pageContext < request < session < application

EL表达式中有四个隐含的隐式的范围:

pageScope 对应的是 pageContext范围。

requestScope 对应的是 request范围。

sessionScope 对应的是 session范围。

applicationScope 对应的是 application范围。

EL表达式对null进行了预处理。如果是null,则向浏览器输出一个空字符串(浏览器一片空白)。

EL表达式取数据的时候有两种形式:

第一种:. 点 (大部分使用这种方式)

第二种:[ ] (如果存储到域的时候,这个name中含有特殊字符,可以使用 [ ])

request.setAttribute("abc.def", "zhangsan");

${requestScope.abc.def} 这样是无法取值的。

应该这样:${requestScope["abc.def"]}

EL表达式,从Map集合中取数据:

${map.key}

EL表达式从数组 和  List集合  中取数据:通过中括号里面的数组活着list集合中的数组元素下标,取出数据;

${数组[0]}

${数组[1]}

${list[0]}

EL表达式:Expression Language(表达式语言)

EL表达式可以代替JSP中的java代码,让JSP文件中的程序看起来更加整洁,美观。

JSP中夹杂着各种java代码,例如<% java代码 %>、<%=%>等,导致JSP文件很混乱,不好看,不好维护。所以才有了后期的EL表达式。

EL表达式可以算是JSP语法的一部分。EL表达式归属于JSP。

EL表达式出现在JSP中的作用:

四个域的某个域中取数据:

pageContext

request

session

application

将取出的数据转成字符串。如果是一个java对象,也会自动调用java对象的toString方法将其转换成字符串。

将字符串输出到浏览器。和这个一样:<%= %>,将其输出到浏览器。

page指令当中,有一个属性,可以忽略EL表达式

复制代码
<%@page contentType="text/html;charset=UTF-8" isELIgnored="true" %>
isELIgnored="true" 表示忽略EL表达式
isELIgnored="false" 表示不忽略EL表达式。(这是默认值)

isELIgnored="true" 这个是全局的控制。

可以使用反斜杠进行局部控制:\${username} 这样也可以忽略EL表达式。
复制代码

通过EL表达式获取应用的根:  ${pageContext.request.contextPath}

EL表达式中其他的隐式对象:

  • EL表达式中没有request这个隐式对象
  • pageContext
  • param
  • paramValues
  • initParam

EL表达式的运算符:

+加号永远都是数字运算,但凡有一方出现不是数字,就会出现500错误

双等号== 和eq  运算符都是调用的equals方法

empty判断是否为空;empty运算符的结果是boolean类型

  • ${empty param.username}
  • ${not empty param.username}
  • ${!empty param.password}
posted @   280887072  阅读(101)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示