EL 表达式 & JSTL 标签库

本文详细介绍了EL表达式,包括其作用、搜索域数据顺序、输出Bean属性、运算及11个隐含对象。同时,简要讨论了JSTL标签库的概念,核心库如的使用。
摘要由CSDN通过智能技术生成

目录

1.EL 表达式

1.1 什么是 EL 表达式,EL 表达式的作用?

1.2 EL 表达式搜索域数据的顺序 

1.3 EL 表达式输出 Bean 的普通属性,数组属性。List 集 合属性,map 集合属性 

1.4 EL 表达式——运算 

1.5 EL 表达式的 11 个隐含对象

2. JSTL 标签库(次重点****)

2.1 JSTL标签库的概念

2.2 JSTL 标签库的使用步骤 

2.3 core 核心库使用


1.EL 表达式

1.1 什么是 EL 表达式,EL 表达式的作用?

        EL 表达式的全称是: Expression Language。是表达式语言。
        EL 表达式的什么作用: EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。
        因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。

1.2 EL 表达式搜索域数据的顺序 

  •  EL 表达式主要是在 jsp 页面中输出数据。
  • 主要是输出域对象中的数据。
  • 当四个域中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        //往四个域中都保存了相同的key的数据。
        request.setAttribute("key", "request");
        session.setAttribute("key", "session");
        application.setAttribute("key", "application");
        pageContext.setAttribute("key", "pageContext");
    %>
    ${ key }

</body>
</html>

1.3 EL 表达式输出 Bean 的普通属性,数组属性。List 合属性,map 集合属性 

需求——输出 Person 类中普通属性,数组属性。list 集合属性和 map 集合属性。

Peson类:

package com.atguigu.pojo;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

public class Person {
//    i.需求——输出Person类中普通属性,数组属性。list集合属性和map集合属性。
    private String name;
    private String[] phones;
    private List<String> cities;
    private Map<String,Object> map;

    public int getAge() {
        return 18;
    }
}

 页面输出的代码:

<%@ page import="com.atguigu.pojo.Person" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        Person person = new Person();
        person.setName("国哥好帅!");
        person.setPhones(new String[]{"18610541354","18688886666","18699998888"});

        List<String> cities = new ArrayList<String>();
        cities.add("北京");
        cities.add("上海");
        cities.add("深圳");
        person.setCities(cities);

        Map<String,Object>map = new HashMap<>();
        map.put("key1","value1");
        map.put("key2","value2");
        map.put("key3","value3");
        person.setMap(map);

        pageContext.setAttribute("p", person);
    %>

    输出Person:${ p }<br/>
    输出Person的name属性:${p.name} <br>
    输出Person的pnones数组属性值:${p.phones[2]} <br>
    输出Person的cities集合中的元素值:${p.cities} <br>
    输出Person的List集合中个别元素值:${p.cities[2]} <br>
    输出Person的Map集合: ${p.map} <br>
    输出Person的Map集合中某个key的值: ${p.map.key3} <br>
    输出Person的age属性:${p.age} <br>


</body>
</html>

注意:EL表达式找值找的是其对应的get方法,而不是其变量本身。

1.4 EL 表达式——运算 

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

  • 关系运算

  • 逻辑运算

  • 算数运算

  • empty 运算

empty 运算可以判断一个数据是否为空,如果为空,则输出 true,不为空输出 false

以下几种情况为空:
        1、值为 null 值的时候,为空
        2、值为空串的时候,为空
        3、值是 Object 类型数组,长度为零的时候
        4、 list 集合,元素个数为零
        5、 map 集合,元素个数为零
<%@ page import="java.util.List" %
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值