EL表达式
概念:
EL:Expression Language 表达式语言
作用:
替换和简化JSP页面中Java代码的编写
语法:
${表达式}
EL表达式的结果会输出到页面上
注意:
JSP默认支持EL表达式
如果要忽略EL表达式,设置JSP中page的属性,isELIgnored="true",则EL表达式会原样输出到页面上。
\${表达式} 忽略单个的EL表达式
EL表达式使用:
运算符:
算术运算符:+ - * /(div) %(mod)
比较运算符:> < >= <= == !=
逻辑运算符:&&(and) ||(or) !(not)
空运算符:empty,用于判断字符串、集合、数组对象是否为null或长度是否为0
${empty list} list为null或长度为0,则返回true
${not empty str} 表示判断字符串、集合、数组对象是否不为null并且长度大于0
获取值:
EL表达式只能从域对象中获取值
${域名城.键名}:从指定域中获取指定键的值
域名称:
pageScope --> pageContext域
requestScope --> request域
sessionScope -->session
applicationScope -->application(ServletContext)
${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
获取对象、List集合、Map集合的值
对象:${域名称.键名.属性名},本质上回去调用对象的getter/setter方法
List集合:${域名称.键名[index]}
Map集合:
- ${域名称.键名.key}
- ${域名称.键名["key"]}
隐式对象:
el表达式中有11个隐式对象:
pageScope
requestScope
sessionScope
applicationScope
pageContext:
获取jsp中其它8个内置对象
${pageContext.request.contextPath} 动态获取虚拟目录