EL全称 Expression Language(表达式语言),是jsp2.0最重要的特性之一,可以利用EL表达式来访问应用程序中的数据,来消除jsp页面中的java脚本。
el表达式的语法
expression例如x+y可以写成{x+y}
el中的关键字
以下是el中的关键字,他们不能用做标识符:
and,eq,gt,true,instanceof,or,ne,le,false,empty,not,lt,ge,null,div,mod
一、EL表达式简介
EL 全名为Expression Language。EL主要作用:
1、获取数据
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
2、执行运算
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
3、获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
4、调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
1.1、获取数据
使用EL表达式获取数据语法:"${标识符}"
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据
el表达式获取数据范例:
el表达式获取数据request.setAttribute("name","孤傲苍狼");
%>
使用EL表达式获取数据:${name}
Person p = new Person();
p.setAge();
request.setAttribute("person",p);
%>
使用el表达式可以获取bean的属性:${person.age}
Person person = new Person();
Address address = new Address();
person.setAddress(address);
request.setAttribute("person",person);
%>
${person.address.name}
Person p = new Person();
p.setName("孤傲苍狼");
Person p = new Person();
p.setName("白虎神皇");
List list = new ArrayList();
list.add(p);
list.add(p);
request.setAttribute("list",list);
%>
${list[].name}
${person.name}
Map map = new LinkedHashMap();
map.put("a","aaaaxxx");
map.put("b","bbbb");
map.put("c","cccc");
map.put("","aaaa");
request.setAttribute("map",map);
%>
${map.c}
${map[""]}
${me.key}=${me.value}
运行效果如下&