一、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类的方法。
二、获取数据
使用EL表达式获取数据语法:"${标识符}"
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据
三、实例
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import="java.util.*" %> <%@page import="elExpression.userInfo" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" charset="utf-8"> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <title>表达式运算符</title> </head> <body> <p>基本表达式运算符</p><br> 23+125=${23+125 } <p>**************</p> 54-23= ${54-23} <p>**************</p> 23*10=${23*10} <p>**************</p> 100/10=${100/10} <p>**************</p> <p>隐式对象</p><br> <% userInfo user1=new userInfo(); user1.setAge(18); user1.setName("funnn"); request.setAttribute("user",user1); %> 我的name为:${user.name }<br> 年龄为:${user.age} <p>**************</p> <% request.setAttribute("name","tomandjerry"); %> 使用EL表达式获取数据:${name} <p>**************</p> <% pageContext.setAttribute("n1","这是我的pageContext"); %> EL表达式显示数据:${pageScope.n1 } </body> </html>
四、相关关系运算符
五、十一个隐含对象