首页 > 代码库 > EL表达式获取数据
EL表达式获取数据
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类型集合
1 <%@page import="com.yyz.Address"%> 2 <%@page import="com.yyz.Person"%> 3 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 4 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 6 <html> 7 <head> 8 <title>el表达式获取数据示例</title> 9 </head>10 <body>11 <% 12 request.setAttribute("name","aaa");13 %>14 ${name } <%--pageContext.findAttribute("name") --%>15 16 <br/><hr><br/>17 <!-- 在jsp页面中,使用el表达式可以获取bean的属性 -->18 <% 19 Person p = new Person();20 p.setAge(12);21 request.setAttribute("person",p);22 %>23 ${person.age }24 25 <br/><hr><br/>26 <!-- 在jsp页面中,使用el表达式可以获取bean中的bean(中的bean。。。)的属性 -->27 <% 28 Person person = new Person();29 Address address = new Address();30 person.setAddress(address);31 request.setAttribute("person",person);32 %>33 ${person.address.name }34 35 <br/><hr><br/>36 <!-- 在jsp页面中,使用el表达式获取list集合中指定位置的数据 -->37 <% 38 Person p1 = new Person();39 p1.setName("aa111");40 Person p2 = new Person();41 p2.setName("bb");42 List list = new ArrayList();43 list.add(p1);44 list.add(p2);45 request.setAttribute("list",list);46 %>47 ${list[1].name } <!-- 取list指定位置的数据 -->48 <!-- 迭代集合 -->49 <c:forEach var="person" items="${list}">50 ${person.name }51 </c:forEach>52 53 <br/><hr><br/>54 <!-- 在jsp页面中,使用el表达式获取map集合的数据 -->55 <% 56 Map map = new HashMap();57 map.put("a","aaaaxxx");58 map.put("b","bbbb");59 map.put("c","cccc");60 map.put("1","aaaa1111");61 request.setAttribute("map",map);62 %>63 ${map.c } <!-- 根据关键字取map集合的数据 -->64 ${map["1"] }<!-- 如果Map的关键字是一个数字,则用点运算符搞不定,点运算符搞不定的用中括号运算符 -->65 <c:forEach var="me" items="${map}">66 ${me.key }=${me.value }<br/>67 </c:forEach>68 <br/><hr><br/>69 </body>70 </html>
EL表达式获取数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。