【Javaweb】——EL(Expression Language)

EL(Expression Language)

  1. 定义:
  1. EL表达式语言只能在JSP文件使用
  2. 主要用于简化对JSP文件内置对象操作步骤
  3. 书写格式类似Xpath
  1. 标准语法格式: ${四大作用域对象别名.关键字}
    通知Tomcat将指定的作用域对象中关键字内容读取并输出到用户
    浏览器
  2. EL表达式作用域对象别名

JSP文件 : application session request pageContext
EL表达式: applicationScope sessionScope requestScope pageScope

  1. EL表达式简化版: ${关键字}

  2. Tomcat是如何执行EL表达式简化版

由于在简化版并没有指定作用域对象;
所以Tomcat首先回到[pageContext]寻找对应关键字,如果有就读取输出并结束,
如果没有.Tomcat就会到[request]寻找对应关键字, 如果有就读取输出并结束,
如果没有.Tomcat就会到[session]寻找对应关键字, 如果有就读取输出并结束,
如果没有. Tomcat就会到[application]寻找对应关键字, 如果有就读取输出并结束,
如果没有,此时输出一个空字符串并结束

  1. EL表达式简化版存在问题:

  2. 降低运行效率;

  3. 增加定位错误几率

  4. EL表达式简化版应用场景
    专门应用于从[pageContext]读取数据时,推荐使用格式

  5. EL表达式对于读取的数据可以进行简单运算管理

  1. 简单数学运算(+,-,*,/,%,++,–)
  2. 简单关系运算( >, >=, <, <=, ==,!=)
    (gt, ge, lt, le, eq,!=)
  3. 简单逻辑运算(&&,||,!)

9. EL表达式其它内置对象介绍

  1. param: 请求参数内置对象;读取来自于浏览器发送请求参数内容
    ${param.请求参数名称} 通知Tomcat
    request.getParameter(“请求参数名称”)
  2. initParam:获取web.xml中内的参数,${ initParam.xxx},xxx就是标签内的值,进而得到中的值
  3. cookie:用于获取cookie,Map<String,Cookie>,其中key是cookie的name,value是cookie对象,例如${cookie.JSESSIONID.value }就是获取sessionId
  4. pageContext:可以获取JSP九大内置对象,相当于使用该对象调用getxxx()方法,例如pageContext.getRequest()可以写为${pageContext.request)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)
    【Javaweb】——EL(Expression Language)