原文地址:https://www.cnblogs.com/xdp-gacl/p/3938361.html

一、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类的方法。

1.1、获取数据

  使用EL表达式获取数据语法:"${标识符}"
  EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。

  EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据

  el表达式获取数据范例:

[转]javaweb学习总结(二十九)——EL表达式
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 3 <%@page import="me.gacl.domain.Person"%>
 4 <%@page import="me.gacl.domain.Address"%>
 5 <!DOCTYPE HTML>
 6 <html>
 7   <head>
 8     <title>el表达式获取数据</title>
 9   </head>
10   
11   <body>
12     <% 
13         request.setAttribute("name","孤傲苍狼");
14     %>
15         <%--${name}等同于pageContext.findAttribute("name") --%>
16         使用EL表达式获取数据:${name}  
17     <hr>
18     <!-- 在jsp页面中,使用el表达式可以获取bean的属性 -->
19     <% 
20         Person p = new Person();
21         p.setAge(12);
22         request.setAttribute("person",p);
23     %>
24         使用el表达式可以获取bean的属性:${person.age}
25     <hr>
26     <!-- 在jsp页面中,使用el表达式可以获取bean中的。。。。。。。。。的属性 -->
27     <% 
28         Person person = new Person();
29         Address address = new Address();
30         person.setAddress(address);
31         
32         request.setAttribute("person",person);
33     %>
34        ${person.address.name}
35      <hr>
36     <!-- 在jsp页面中,使用el表达式获取list集合中指定位置的数据 -->
37     <% 
38         Person p1 = new Person();
39         p1.setName("孤傲苍狼");
40         
41         Person p2 = new Person();
42         p2.setName("白虎神皇");
43         
44         List<Person> list = new ArrayList<Person>();
45         list.add(p1);
46         list.add(p2);
47         
48         request.setAttribute("list",list);
49     %>
50     
51     <!-- 取list指定位置的数据 -->
52     ${list[1].name} 
53     
54     <!-- 迭代List集合 -->
55     <c:forEach var="person" items="${list}">
56         ${person.name}
57     </c:forEach>
58     <hr>
59     <!-- 在jsp页面中,使用el表达式获取map集合的数据 -->
60     <% 
61         Map<String,String> map = new LinkedHashMap<String,String>();
62         map.put("a","aaaaxxx");
63         map.put("b","bbbb");
64         map.put("c","cccc");
65         map.put("1","aaaa1111");
66         request.setAttribute("map",map);
67     %>
68     
69     <!-- 根据关键字取map集合的数据 -->
70       ${map.c}  
71       ${map["1"]}
72       <hr>
73       <!-- 迭代Map集合 -->
74       <c:forEach var="me" items="${map}">
75           ${me.key}=${me.value}<br/>
76       </c:forEach>
77     <hr>
78   </body>
79 </html>
[转]javaweb学习总结(二十九)——EL表达式

  运行效果如下:

  [转]javaweb学习总结(二十九)——EL表达式

1.2、执行运算

  语法:${运算表达式},EL表达式支持如下运算符:

  1、关系运算符

[转]javaweb学习总结(二十九)——EL表达式

一、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类的方法。

1.1、获取数据

  使用EL表达式获取数据语法:"${标识符}"
  EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。

  EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据

  el表达式获取数据范例:

[转]javaweb学习总结(二十九)——EL表达式
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 3 <%@page import="me.gacl.domain.Person"%>
 4 <%@page import="me.gacl.domain.Address"%>
 5 <!DOCTYPE HTML>
 6 <html>
 7   <head>
 8     <title>el表达式获取数据</title>
 9   </head>
10   
11   <body>
12     <% 
13         request.setAttribute("name","孤傲苍狼");
14     %>
15         <%--${name}等同于pageContext.findAttribute("name") --%>
16         使用EL表达式获取数据:${name}  
17     <hr>
18     <!-- 在jsp页面中,使用el表达式可以获取bean的属性 -->
19     <% 
20         Person p = new Person();
21         p.setAge(12);
22         request.setAttribute("person",p);
23     %>
24         使用el表达式可以获取bean的属性:${person.age}
25     <hr>
26     <!-- 在jsp页面中,使用el表达式可以获取bean中的。。。。。。。。。的属性 -->
27     <% 
28         Person person = new Person();
29         Address address = new Address();
30         person.setAddress(address);
31         
32         request.setAttribute("person",person);
33     %>
34        ${person.address.name}
35      <hr>
36     <!-- 在jsp页面中,使用el表达式获取list集合中指定位置的数据 -->
37     <% 
38         Person p1 = new Person();
39         p1.setName("孤傲苍狼");
40         
41         Person p2 = new Person();
42         p2.setName("白虎神皇");
43         
44         List<Person> list = new ArrayList<Person>();
45         list.add(p1);
46         list.add(p2);
47         
48         request.setAttribute("list",list);
49     %>
50     
51     <!-- 取list指定位置的数据 -->
52     ${list[1].name} 
53     
54     <!-- 迭代List集合 -->
55     <c:forEach var="person" items="${list}">
56         ${person.name}
57     </c:forEach>
58     <hr>
59     <!-- 在jsp页面中,使用el表达式获取map集合的数据 -->
60     <% 
61         Map<String,String> map = new LinkedHashMap<String,String>();
62         map.put("a","aaaaxxx");
63         map.put("b","bbbb");
64         map.put("c","cccc");
65         map.put("1","aaaa1111");
66         request.setAttribute("map",map);
67     %>
68     
69     <!-- 根据关键字取map集合的数据 -->
70       ${map.c}  
71       ${map["1"]}
72       <hr>
73       <!-- 迭代Map集合 -->
74       <c:forEach var="me" items="${map}">
75           ${me.key}=${me.value}<br/>
76       </c:forEach>
77     <hr>
78   </body>
79 </html>
[转]javaweb学习总结(二十九)——EL表达式

  运行效果如下:

  [转]javaweb学习总结(二十九)——EL表达式

1.2、执行运算

  语法:${运算表达式},EL表达式支持如下运算符:

  1、关系运算符

[转]javaweb学习总结(二十九)——EL表达式

相关文章: