EL
EL 全名为Expression Language,是简化的输出方法。
| ${ 1 + 2 } |
| ${ username } |
| ${ sessionScope.user.sex } |
| ${ sessionScope["user"]["sex"] } |
获取 username 值的途径
| 优先级 |
范围 |
|
1(高) |
Page |
|
2 |
Request |
|
3 |
Session |
|
4 |
Application |
|
5 |
null |
EL 保留字
| and |
eq |
gt |
true |
| Or |
ne |
le |
false |
| No |
lt |
ge |
null |
| instanceof |
empty |
div |
mod |
EL 隐含对象
| 变量名 |
类型 |
等效 JSP |
示例 |
| pageContext |
javax.servlet.jsp.PageContext |
|
${pageContext.servletContext.serverInfo}
${pageContext.request.requestURL}
${pageContext.response.characterEncoding}
${pageContext.session.creationTime} |
| pageScope |
javax.util.Map |
Page |
${pageScope.user} |
| requestScope |
javax.util.Map |
Request |
|
| sessionScope |
javax.util.Map |
session |
|
| applicationScope |
javax.util.Map |
application |
|
| param |
javax.util.Map |
request.getParameter(String name) |
|
| paramValues |
javax.util.Map |
request.getParameterValues(String name) |
|
| header |
javax.util.Map |
|
|
| headerValues |
javax.util.Map |
|
|
| cookie |
javax.util.Map |
|
|
| initParam |
javax.util.Map |
|
|
| ${user} 的查找顺序 |
page |
request |
session |
application |
算术运算符
运算细则:
- 如果一方为数字,则另一方也转为数字,不能转则报错。
- 数字转换向高精度靠拢。
- 如果双方都为 null,返回 (long)0。
| 运算符 |
描述 |
备注 |
| + |
加 |
|
| - |
减,取负 |
|
| * |
乘 |
|
| /, div |
除 |
|
| %, mod |
取余 |
|
关系运算符
| 运算符 |
描述 |
| ==, eq |
相等 |
| !=, ne |
不等 |
| <, lt |
小于 |
| >, gt |
大于 |
| <=, le |
小于等于 |
| >=, ge |
大于等于 |
逻辑运算符
| 运算符 |
描述 |
| &&, and |
与 |
| ||, or |
或 |
| !, not |
非 |
其他运算符
| 运算符 |
描述 |
示例 |
| Empty |
判断是否为空,返回 true/false |
${ empty param.name } |
| ? : |
条件运算,如果 A 为 true 返回 B 否则返回 C |
${ A ? B : C} |
| () |
括号,设定优先级 |
|