EL 全名为Expression Language。

EL主要作用

获取数据:

•EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)

执行运算:

•利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}

获取web开发常用对象

•EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。

调用Java方法

•EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。

EL表达式获取数据

 
1.使用EL表达式获取数据语法:“${标识符}”
2.EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。EL表达式${xxx}会先看xxx是不是EL表达式的隐式对象,是就直接返回隐式对象的引用,不是就翻译成pageContext.findAttribute(“xxx”)。
3.EL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:

•${user.address.city}
•${user.list[0]}:访问有序集合某个位置的元素
•${map.key}  : 获得map集合中指定key的值
4.结合JSTL的foreach标签,使用EL表达式也可以很轻松迭代各种类型的数组或集合,示例:
•迭代数组
•迭代collection类型集合
•迭代map类型集合
 <%@page import="com.yyz.Address"%>
<%@page import="com.yyz.Person"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>el表达式获取数据示例</title>
</head>
<body>
<%
request.setAttribute("name","aaa");
%>
${name } <%--pageContext.findAttribute("name") --%> <br/><hr><br/>
<!-- 在jsp页面中,使用el表达式可以获取bean的属性 -->
<%
Person p = new Person();
p.setAge(12);
request.setAttribute("person",p);
%>
${person.age } <br/><hr><br/>
<!-- 在jsp页面中,使用el表达式可以获取bean中的bean(中的bean。。。)的属性 -->
<%
Person person = new Person();
Address address = new Address();
person.setAddress(address);
request.setAttribute("person",person);
%>
${person.address.name } <br/><hr><br/>
<!-- 在jsp页面中,使用el表达式获取list集合中指定位置的数据 -->
<%
Person p1 = new Person();
p1.setName("aa111");
Person p2 = new Person();
p2.setName("bb");
List list = new ArrayList();
list.add(p1);
list.add(p2);
request.setAttribute("list",list);
%>
${list[1].name } <!-- 取list指定位置的数据 -->
<!-- 迭代集合 -->
<c:forEach var="person" items="${list}">
${person.name }
</c:forEach> <br/><hr><br/>
<!-- 在jsp页面中,使用el表达式获取map集合的数据 -->
<%
Map map = new HashMap();
map.put("a","aaaaxxx");
map.put("b","bbbb");
map.put("c","cccc");
map.put("1","aaaa1111");
request.setAttribute("map",map);
%>
${map.c } <!-- 根据关键字取map集合的数据 -->
${map["1"] }<!-- 如果Map的关键字是一个数字,则用点运算符搞不定,点运算符搞不定的用中括号运算符 -->
<c:forEach var="me" items="${map}">
${me.key }=${me.value }<br/>
</c:forEach>
<br/><hr><br/>
</body>
</html>
 

EL表达式获取数据的更多相关文章

  1. [javaEE] EL表达式获取数据

    jsp标签: <jsp:include> <jsp:forward> 实现请求转发 <jsp:param> 给上面的添加参数的 EL表达式: 1.获取变量数据 &l ...

  2. EL表达式获取数据的方式

    <%@page import="cn.jiemoxiaodi.domain.Person"%> <%@ page language="java" ...

  3. 在JSP页面用EL表达式获取数据

    <h4>获取域对象中的值</h4><%    request.setAttribute("name", "射雕英雄传");     ...

  4. JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用

    Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由 ...

  5. EL表达式获取值栈数据

    ---------------------siwuxie095 EL 表达式获取值栈数据 1.导入 JSTL 相关包,下载链接: (1)http://tomcat.apache.org/taglibs ...

  6. javascript-使用el表达式获取后台传递的数据

      js获取后台数据 CreateTime--2017年5月26日16:14:14Author:Marydon 在js中使用el表达式的前提是:HTML引用js使用内联方式(即在JSP页面内部使用js ...

  7. 【JSP EL】<c:if> <c:foreach >EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值

    1.EL表达式 获取list长度 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" ...

  8. EL表达式获取参数值${param.name}等

    转自:http://www.html580.com/study/83.html EL表达式获取参数值${param.name}等 (1).${pageContext} 获取到 pageContext ...

  9. SSH 框架controller向jsp传递List jsp中使用el表达式获取

    mvc可以使用ModelAndViev传递数据选择跳转的视图 controller中的代码, 把一个模拟的表单studentListSimulate传给ModelAndView @RequestMap ...

随机推荐

  1. cmd下运行PowerShell命令

    PowerShell -Command "& {Get-EventLog -LogName security}"

  2. 新建VM_Script

    在Hyper-V群集中,不需要设置VM的自启动,当宿主机意外关机重新启动后,上面的VM会自动转移到另一台主机:如果另一台主机处于关机状态,则宿主机重新启动后,其VM也会自启动(如果其VM在宿主机关机前 ...

  3. 使用Machin公式计算

    使用Machin公式计算,并使用百亿进制+末项位数控制,这里可算出数万位(比最简PI快80倍),源代码约40行,在本网页中. 计算公式 PI=16arctg(1/5)-4arctg(1/239),其中 ...

  4. Codeforces Round #308 (Div. 2) A. Vanya and Table 暴力

    A. Vanya and Table Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/552/pr ...

  5. linux C(hello world) 二维数组的练习

  6. ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)

    题目链接:传送门 题意: 一个数被觉得是一个完美的数,仅仅要须要满足下面的两个条件之中的一个 1)x = 1 or 3 2)x = 2 + a*b + 2*a + 2*b; a.b都是完美的数. 分析 ...

  7. 【React Native 实战】二维码扫描

    1.前言今天介绍React Native来实现二维码扫描的功能.首先我们要借助第三方插件react-native-barcode-scanner-universal来实现跨平台二维码扫描. 2.介绍 ...

  8. 0c-33-@class,循环retain

    2个对象互相有着引用,A中有B,B中有A. // 对于循环retain的情况,对象不能够释放,此时只能让一方使用assign一方使用retain,retain用于对象assign用于基本类型,assi ...

  9. c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)

       一.方法参数的类型----值类型和引用类型 当方法传递的参数是值类型时,变量的栈数据会完整地复制到目标参数中即实参和形参中的数据相同但存放在内存的不同位置.所以,在目标方法中对形参所做的更改不会 ...

  10. 基于jQuery带备忘录功能的日期选择器

    今天给大家分享一款基于jQuery带备忘录功能的日期选择器.这款日期控制带有备记忘录功能.有备忘录的日期有一个圆圈,单击圆圈显示备忘录.该实例适用浏览器:360.FireFox.Chrome.Safa ...