1.关于EL表达式的运算我不想多想,直接上例子吧....
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv=" pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<h1>empty 运算符:判断一个对象是否为null或者字符串是否为空或集合是否为空或域中是否没有任何属性</h1><hr>
<%
String str="aaa";
pageContext.setAttribute("str", str);
List list=new ArrayList();
list.add("你好");
pageContext.setAttribute("list", list);
%>
${empty str }
${empty list }
${empty pageContext }
<h1>三元运算符</h1><hr>
${9<8? "yes" : "no"}
<h1>逻辑运算符</h1><hr>
${not(3>2 and 5<9 or 10<3) }
<h1>比较运算符</h1><hr>
${1eq 1 }
${3ge 1 }
${8le 9 }
${9 gt 5 }
<h1>算数运算:如果有非数字参与运算,EL会把非数字转化为数字</h1>
${1+1 }
${1+"2" }
</body>
</html>
结果:
2.EL之11个内置对象。
大家一定不要和jsp的9大内置对象相混淆,jsp的9大内置对象是域对象,而EL的11个内置对象是对应的map.即时一个集合。
获取常用开发对象:el中内置了11个内置对象,这些对象el内置的,不需要提前定义就可以直接在el中使用
!pageContext -- 有了它可以很方便的获取jsp页面中的9大隐式对象
!pageScope -- page域中属性组成的Map
!requestScope -- request域中属性组成的Map
!sessionScope -- session域中属性组成的Map
!applicationScope --application域中属性组成的Map
!param -- 所有请求参数组成的Map<String,String>
paramValues -- 所有请求参数组成的Map<String,String[]>
header -- 所有请求头组成的Map<String,String>
headerValues -- 所有请求头组成的Map<String,String[]>
!cookie -- 所有cookie信息组成的Map<String,Cookie>
initParam -- 所有web应用的初始化参数组成Map
案例:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv=" pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<%
pageContext.setAttribute("name", "李卫康");
request.setAttribute("name", "韩玮");
%>
${pageScope.name }
${requestScope.name }
${param.name }
${initParam.name }
</body>
</html>
运行结果: