zoukankan      html  css  js  c++  java
  • 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>
     
  • 相关阅读:
    css文字换行问题white-space:pre-line或者white-space:pre-wrap,解决word-wrap:break-word解决不了的
    ie浏览器检测不到cookie的问题
    jQuery ajax在IE浏览器的跨域问题--jquery.xdomainrequest.min.js
    移动端 input 获取焦点后弹出带搜索、确定、前往的键盘,以及隐藏系统键盘
    三个获取浏览器URL中参数值的方法
    上传文件时文件类型限制 <input id="File1" type="file" accept=""/>
    ES6 let和const 的相同点与区别
    html页面中的title设置为空格
    vue 之 key
    nginx 之 proxy_pass详解
  • 原文地址:https://www.cnblogs.com/yyz666/p/4083555.html
Copyright © 2011-2022 走看看