EL表达式
- EL表达式,是一种在jsp页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意,只能从pageContext、request、session、application四大域属性中获取数据
使用EL表达式获取数据
将值存放到四大域属性空间中的任意一个中。然后访问其存放时的key即可。
<%
pageContext.setAttribute("name", "monkey1024");
request.setAttribute("name", "monkey1024");
session.setAttribute("name", "monkey1024");
application.setAttribute("name", "monkey1024");
%>
<!-- 可以取出来,因为放进了四大域属性空间中 -->
${name }
El底层是从最小范围的pageContext依次查找,直到查找到最大范围的application。这期间,只要查找到了,则直接获取,不再去后面的范围中查找了。如果什么也没有找到,则什么也不输出。
运算符
EL表达式可以进行各种运算,其中常用的运算符有:
1、算术运算符 + - * / % (暂时不支持++ 、--)
2、关系运算符 == != > >= <=
3、逻辑运算符 ! && || not and or
4、三目运算符 ? :
5、特殊运算符 empty
&& 或者 and, 例如:{false and false }
|| 或者 or, 例如:{true or false }
! 或者 not,例如:{not true }
empty的法为${empty 变量},结果为布尔值。
- 若变量未定义,则返回值为 true
- 若变量为 String 类型,且其值为空串,则返回值为 true。
- 若变量为引用类型,且其值为 null,则返回值为 true。
- 若变量为集合类型,且其不包含任何元素,则返回值为 true。
<%
request.setAttribute("name", "");
request.setAttribute("student", null);
request.setAttribute("list", new ArrayList());
%>
<!-- 下面输出结果均为true -->
变量未定义:${empty no }<br>
空字符串:${empty name }<br>
对象是null:${empty student }<br>
集合中没有元素:${empty list }<br>
网友评论