简介
- 本文是2021/06/10整理的笔记
- 赘述可能有点多,还请各位朋友耐心阅读
- 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进
1.什么是 EL?
Expression Language 表达式语言
2.EL 使用场合
JSP,服务器解析翻译生成 java 代码
3.EL 作用?
在 JSP 页面输出动态内容,代替 java 脚本表达式
4.EL 语法格式
${EL 表达式}
EL 内置对象?
EL 有 11 个内置对象
param paramValues
pageScope requestScope sessionScope applicationScope
header headerValues
cookie initParam
pageContext
1.param
1.语法: ${param.请求参数名}
2.例子: ${param.name}
2.paramValues
1.语法: ${paramValues.请求参数名[index]}
2 例子: ${paramValues.hobbies[0]}
3.header 输出某一个请求头的值
1.语法:${header.请求头名字}
2.例子: ${header.accept}
4.headerValues
1.语法: ${headerValues.请求头名字[index]}
2.例子: ${headerValues.cookie[0]}
5.cookie
1.语法: ${cookie.名字.value}
2.例子: ${cookie.JSESSIONID.value}
6.initParam
1.语法: ${initParam.上下文参数的名字}
2.例子: ${initParam.name}
<context-param>
<param-name>name</param-name>
<param-value>wangwu</param-value>
</context-param>
pageContext
- ${pageContext.request.contextPath}得到工程路径
8~11 4 大作用域
pageScope
requestScope
sessionScope
applicationScope
1.不写作用域
语法: ${变量名.属性名}
从 pageScope->requestScope->sessionScope->applicationScope 找
1.在某一范围找到,就直接显示,不再找了
2.如果没找到,就什么都不显示
2.强制使用某一范围
语法: ${范围.变量名.属性名}
1.精确使用某一范围找
1.在某一范围找到,就直接显示
2.如果没找到,就什么都不显示
EL 运算符
1.算术运算符 5 种
+-*/%
2.比较运算符 6 种
1.== eq
2.!= ne
3.> gt
4.< lt
5.>= ge
6.<= le
3.逻辑运算符
1.与 && and
2.或 || or
3.非 ! not
4.集合和特殊运算符
1.${范围.集合变量名[index].属性名}
2.empty
- ${empty 普通变量}
1.从作用域找变量,找到变量值!=null ,返回 false,否则返回 true
2.没找到 返回 true - ${empty 集合变量}
1.如果作用域未找到,返回 true
2.否则集合没有值返回 true 否则返回 false
3.关系运算符(三目)
${A?B:C}
4.优先级
${(1>2) || (3<2)}