一、EL 表达式简介
EL,Expression Language。
EL 主要作用:
获取数据:EL 表达式主要替换 jsp 页面中的脚本表达式,以从各种类型的 web 域中检索 Java 对象、获取数据。(某个 web 域中的对象,访问 JavaBean 的属性、访问 list 集合、访问 map 集合、访问数组)
执行计算:利用表达式可以在 jsp 页面中执行一些基本的关系运算、逻辑运算和算术运算,以及在 jsp 页面中完成一些简单的逻辑运算。
获取 web 开发常用对象::EL 表达式定义了一些隐式对象,利用这些隐式对象,web 开发人员可以很轻松的获得对 web 常用对象的引用,从而获取这些对象中的数据。
调用 Java 方法:EL 表达式允许用户开发自定义 EL 函数,以在 jsp 页面中通过 EL 表达式调用 Java 类的方法。
二、EL 注意事项
EL 表达式是 JSP2.0 规范的一门技术,所以,如果想正确解析 EL 表达式,需要使用支持 Servlet2.4 或 JSP2.0 技术的 web 服务器。
三、获取域对象中的数据
使用 EL 表达式获取数据语法:${标识符}。
EL 表达式语句在指定的时候,会调用 pageContext.findAttribute() 方法,用标识符为关键字,分别从 page、request、session 和 application 四个域对象中查找对象,找到则返回相应对象,找不到则返回""。
- < import="cn.vo.User"%>
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- 获取域对象中的值
- <%
- request.setAttribute("name", "郭美美");
- %>
- ${name}
- 获取域中数组的值
- <%
- request.setAttribute("str", new String[]{"哈哈","呵呵","嘻嘻","笨笨"});
- %>
- ${str[3] }
- 获取域中List集合的值
- <%
- List list = new ArrayList();
- list.add("哈哈");
- list.add("呵呵");
- request.setAttribute("list",list);
- %>
- ${list[0]}
- 获取域中Map集合的值
- <%
- Map map = new HashMap();
- map.put("aa", "哈哈");
- map.put("bb", "呵呵");
- request.setAttribute("map",map);
- %>
- ${map.aa }
- 获取域中List集合的对象
- <%
- List u = new ArrayList();
- u.add(new User("哈哈","呵呵",new Date()));
- u.add(new User("哈哈","呵呵",new Date()));
- request.setAttribute("u",u);
- %>
- ${u[0].username}
- ${u[1].password}
四、EL 表达式的运算
五、获取 web 开发常用对象
EL 表达式定义了 11 个隐含对象,使用这些对象可以很方便的获取 web 开发中的一些常见对象,并读取这些对象的数据。
语法:${隐式对象名称} 获得对象的引用
来源: http://www.bubuko.com/infodetail-1986855.html