EL表达式
- 什么是EL表达式,EL表达式的作用?
EL表达式的全称是:Expression Language。是表达式语言
EL表达式的作用:EL表达式主要代替jsp页面中的表达式脚本在jsp页面中进行数据的输出。因为EL表达式在输出数据的时候,要比jsp的表达式脚本简洁很多。
<body>
<%
request.setAttribute("key","值");
%>
表达式脚本输出key的值是:<%=request.getAttribute("key")%><br/>
EL表达式输出ket的值是:${key}
EL表达式的格式是:${表达式}
EL表达式在输出空值的时候,输出的是空串。jsp表达式脚本输出null值得时候,输出得是null字符串。
2. EL表达式搜索域数据得顺序
EL表达式主要在jsp页面中输出数据。
主要输出得是域对象中得数据。
<%
//往四个域中保存了相同的数据
request.setAttribute("key","request");
session.setAttribute("key","session");
application.setAttribute("key","application");
pageContext.setAttribute("key","pageContext");
%>
${key}
当四个域中都有相同得key得数据得时候,EL表达式会按照四个域得从小到大得顺序去进行搜索,找到就输出。
3. EL表达式输出Bean得普通属性,数组属性。List集合属性,map集合属性
需求:输出Person类中普通属性,数组属性。List集合属性和map集合属性。
<%
Person person=new Person();
person.setName("我真的帅");
person.setPhones(new String[]{"12345678910","10987654321","56789101234"});
List<String> cities=new ArrayList<String>();
cities.add("北京");
cities.add("南京");
cities.add("西京");
cities.add("东京");
person.setCities(cities);
Map<String,Object> map=new HashMap<String,Object>();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
map.put("key4","value4");
person.setMap(map);
pageContext.setAttribute("person",person);
%>
输出person:${person}<br/>
输出person得name属性:${person.name}<br/>
输出person得phones数组属性:${person.phones[0]}<br/>
输出person得cities集合中的元素值:${person.cities}<br/>
输出person得cities集合中个别元素值:${person.cities[1]}<br/>
输出person的Map集合:${person.map}<br>
输出person的Map集合中的某个元素:${person.map.key1}
</body>
- EL表达式中11个隐含对象
11个表达式中11个隐含对象,是EL表达式中自己定义的,可用直接使用
变量 | 类型 | 作用 |
---|---|---|
pageContext | pageContextImpl | 可以获取jsp中的九大内置对象 |
pageScope | Map<String,Object> | 可以获取pageContext域中的数据 |
requestScope | Map<String,Object> | 可以获取Request域中的数据 |
sessionScope | Map<String,Object> | 可以获取session域中的数据 |
applicationScope | Map<String,Object> | 可以获取ServletContext域中的数据 |
param | Map<String,String> | 可以获取请求参数的值 |
paramValues | Map<String,String[ ]> | 可以获取请求参数的值,获取多个 |
header | Map<String,String> | 可以获取请求头的信息 |
headerValues | Map<Stirng,String[ ]> | 可以获取请求头信息,可以获取多个值的情况 |
cookie | Map<String,Cookie> | 获取当前请求的Cookie信息 |
initParam | Map<String,Cookie> | 可以获取在web.xml中配置的 < context-param>上下文参数 |