EL表达式
-
EL简介:Expression Language(表达式语言)
-
. EL表达式特点:
1、 使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出
2、 EL表达式在得到某个数据时,会自动进行数据类型转换
3、 EL表达式仅仅能读取数据,而不能对数据进行修改
4、 使用EL表达式之前,必须要将数据存放到域中或上下文中 -
EL表达式使用
1、语法:${EL表达式}
2、获取域中对象,如获取域中名为user的对象:${user}
3、获取对象的属性值可以直接通过“对象.属性名”:${user.name}、${user.age}
也可以写成:${user["name"]}、${user["age"]}
(不常用)
注意:这里的属性名是get和set方法对应的属性值,并不是对象中的变量名,如果获取name属性,那么该对象中必定要存在一个getName()方法! -
EL表达式隐含对象(11个)
1、pageContext:它属于大哥级别的,可以通过它获取其他它隐含对象,如:${pageScope.request}
2、域对象(4个)称呼 EL对象 page域 pageScope request域 requestScope session域 sessionScope application域 applicationScope
注意:如果用EL表达式取值时未指定域对象,且取的key都相等,则会在四个域中由小到大依次取值
-
其他对象(6个)
1、param:相当于:request.getPrameter(“name”);
2、paramValues:相当于:request.getPrameterValues(“name”):获取所有同名的name值
3、header:获取请求头或响应头中的一些属性信息
4、headerValues:获取请求头或响应头中所有同名的属性名
5、initParam:获取初始化参数
6、cookie:获取cookie对象 -
EL运算符
1、empty运算符:判断是否为空,如:
<%
String s = null;
request.setAttribute("s", s);
%>
empty:${empty s}
结果为:empty:true
不为空则为false
如果对象未赋值也为空,如:
<%
ArrayList<String> list = new ArrayList<String>();
request.setAttribute("list", list);
%>
${empty list}
结果为:true
总结:
empty判断的空有三种空:null、""、未赋值的对象
2、算术算运算符
3、关系运算符
4、逻辑运算符
5、三元运算符
6、位运算符