一、EL表达式基本语法和用途
el表达式
*用途:获取域对象的属性值
*语法:${域对象属性的名称}
*使用el表达式获取域对象里面值
<%// 向四个域对象里面设置值
pageContext.setAttribute("msg", "ayit");
pageContext.setAttribute("msg", "ayitRequest",pageContext.REQUEST_SCOPE);
pageContext.setAttribute("msg", "ayitSession",pageContext.SESSION_SCOPE);
pageContext.setAttribute("msg", "ayitApplication",pageContext.APPLICATION_SCOPE);
%>
<!-- 使用el表达式的值 -->
${pageScope.msg}
${requestScope.msg}
${sessionScope.msg}
${applicationScope.msg}
*使用el表达式获取域对象里面数组值
使用数组的下标来获取,如果数组的下标不存在返回一个空字符串
<%
String[] arr = {"tom","jack","lucy"};
pageContext.setAttribute("arr", arr);
%>
<!-- 使用el表达式获取域对象里面的数组的值 -->
${arr[0] }
*使用el表达式获取域对象里面集合里面值
使用数组的下标来获取,如果数组的下标不存在返回一个空字符串
<%
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
pageContext.setAttribute("list", list);
%>
<!-- 使用el表达式获取域对象里面集合的值 -->
${list[0] }
使用集合的key获取,但是key不能是数字,一般不用el取。set不能用el
<!-- 使用el表达式获取域对象里面集合的值 -->
${list[0] }
<hr>
<%
Map map = new HashMap();
map.put("a", "aaa1");
map.put("b", "aaa2");
map.put("c", "aaa3");
pageContext.setAttribute("map", map,pageContext.REQUEST_SCOPE);
%>
<!-- 使用el表达式获取域对象里面对象的值 -->
${map.a }
*使用el表达式获取域对象里面对象的属性值
使用对象名称.属性名称获取属性的值
<%
Person p = new Person();
p.setName("ayit");
p.setPassword("ayit");
request.setAttribute("p", p);
Date date = new Date();
pageContext.setAttribute("date", date);
%>
<!-- 使用el表达式获取域对象里面 对象的值 -->
${date }
${p.name }
*el表达式执行运算
*算数运算
*关系运算
*逻辑运算
<%
pageContext.setAttribute("aa",2);
pageContext.setAttribute("bb",3);
%>
<!-- 使用el表达式执行运算 -->
${aa+bb }
${aa==bb }
${aa>0 && bb<10}
${aa>bb?aa:bb}
二、EL表达式操作Web开发常用对象
使用EL表达式操作web开发常用的对象
*el表达式里面提供了11个隐含对象
param:得到提交的参数,相当于request.getParameter()
paramValues:得到多个值,相当于request.getParameterValues();
header:得到头信息,相当于 request.getHeader();
initParam:得到全局的初始化参数,${initParam.名称}
pageContext:得到其他内置对象${pageContext.对象名}