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

 

算术运算符

运算细则:

  1. 如果一方为数字,则另一方也转为数字,不能转则报错。
  2. 数字转换向高精度靠拢。
  3. 如果双方都为 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}
() 括号,设定优先级