zoukankan      html  css  js  c++  java
  • JS基础之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.获取数据

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

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>el表达式获取数据</title>
      </head>
      
      <body>
        <% 
            request.setAttribute("name","蚂蚁");
        %>
            <%--${name}等同于pageContext.findAttribute("name") --%>
            使用EL表达式获取数据:${name}  
        <hr>
        <!-- 在jsp页面中,使用el表达式可以获取bean的属性 -->
        <% 
            Person p = new Person();
            p.setAge(12);
            request.setAttribute("person",p);
        %>
            使用el表达式可以获取bean的属性:${person.age}
        <hr>
        <!-- 在jsp页面中,使用el表达式可以获取bean中的。。。。。。。。。的属性 -->
        <% 
            Person person = new Person();
            Address address = new Address();
            person.setAddress(address);
            
            request.setAttribute("person",person);
        %>
           ${person.address.name}
         <hr>
        <!-- 在jsp页面中,使用el表达式获取list集合中指定位置的数据 -->
        <% 
            Person p1 = new Person();
            p1.setName("熊猫");
            
            Person p2 = new Person();
            p2.setName("老虎");
            
            List<Person> list = new ArrayList<Person>();
            list.add(p1);
            list.add(p2);
            
            request.setAttribute("list",list);
        %>
        
        <!-- 取list指定位置的数据 -->
        ${list[1].name} 
        
        <!-- 迭代List集合 -->
        <c:forEach var="person" items="${list}">
            ${person.name}
        </c:forEach>
        <hr>
        <!-- 在jsp页面中,使用el表达式获取map集合的数据 -->
        <% 
            Map<String,String> map = new LinkedHashMap<String,String>();
            map.put("a","aaaaxxx");
            map.put("b","bbbb");
            map.put("c","cccc");
            map.put("1","aaaa1111");
            request.setAttribute("map",map);
        %>
        
        <!-- 根据关键字取map集合的数据 -->
          ${map.c}  
          ${map["1"]}
          <hr>
          <!-- 迭代Map集合 -->
          <c:forEach var="me" items="${map}">
              ${me.key}=${me.value}<br/>
          </c:forEach>
        <hr>
      </body>
    </html>
    2.执行运算

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

    a.关系运算符

    ==或eq   等于  ${ 5 eq 5}

    !=或ne 不等于${5 ne 5}

    >大于 lt ${5 lt 5}

    <小于 gt ${ 5 gt 5}

    >=大于等于 le ${5 le 5}

    <= 小于等于ge  ${5 ge 5}






  • 相关阅读:
    便 加权并查集
    bzoj 4565 状压区间dp
    bzoj 2242 [SDOI2011]计算器 快速幂+扩展欧几里得+BSGS
    poj 3243 扩展BSGS
    bzoj 3239 poj 2417 BSGS
    51nod 1135 原根 就是原根...
    bzoj 2005 能量采集 莫比乌斯反演
    约会 倍增lca
    bzoj 2186 [Sdoi2008]沙拉公主的困惑 欧拉函数
    IE下textarea去除回车换行符
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767565.html
Copyright © 2011-2022 走看看