EL 为表达式语言(Expression Language),可以简化对变量的对象的访问
语法 :所有的表达式以”${”开始,以”}”结束。
是否启用EL表达式 isELIgnored =“true|false”
JSP EL 表达式用于以下情形
静态文本( JavaScript脚本在jsp中属于静态内容)
标准标签和自定义标签
EL不能在脚本元素中使用 脚本元素不是指JavaScript脚本,而是 <% Java 代码 %>
EL使用”[ ]”和”.”操作符来访问数据
对于连字符(-)或者其它特殊字符的字符串只能用“[ ]”操作符,而不能用“.”操作符,这也是“[ ]”和
“.”操作符的区别 如 ${header[“User-Agent”]}
EL表达式的操作内容可以是:常量、变量、jsp隐含对像
EL表达式还提供了对操作内容的运算:属性取值、运算、逻辑运算
EL表达式的操作结果会自动输出到输出流对像中
EL 表达式只能通过内置对象取值,也就是只读操作
EL 运算符
(1)、EL 算术运算符 + - * /(div) %(mod)
(2)、EL 关系运算符 ==(eq) !=(ne) <(lt) <=(le) >(gt) >=(ge)
(3)、EL 逻辑运算符 &&(and) ||(or) !(not)
(4)、EL 其他运算符
- empty 运算符 用来判断值是否为null 或空的
- 条件运算符 ${ A ? B : C} 意思是说,当A 为true 时,执行B;而A 为false 时,则执行C
- ( ) 括号运算符 用来改变执行优先权,例如: ${ A * (B+C) }
隐含对象 类型 说明
pageContext javax.servlet.ServletContext 表示此 JSP 的 PageContext
pageScope java.util.Map 取得 Page 范围的属性名称所对应的
值
requestScope java.util.Map 取得 Request 范围的属性名称所对应
的值
sessionScope java.util.Map 取得 Session 范围的属性名称所对应
的值
applicationScope java.util.Map 取得 Application 范围的属性名称
所对应的值
param java.util.Map 如同
ServletRequest.getParameter(String name)。回传 String 类型的值
paramValues java.util.Map 如同
ServletRequest.getParameterValues(String name)。回传 String[] 类型的值
header java.util.Map 如同
ServletRequest.getHeader(String name)。回传 String 类型的值
headerValues java.util.Map 如同
ServletRequest.getHeaders(String name)。回传 String[] 类型的值
cookie java.util.Map 如同
HttpServletRequest.getCookies()
initParam java.util.Map 如同
ServletContext.getInitParameter(String name)。回传 String 类型的值