EL表达式

news2024/11/25 10:43:09
  1. EL的概念

JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。

  1. EL的作用

用于替换作用域对象.getAttribute("name");

3. EL的应用(获取基本类型、字符串)

既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。

  • ${scope.name}获取具体某个作用域中的数据

  • ${name}获取作用域中的数据,主机查找{pageContext、request、session、application}

4. EL的案例

4.1创建不相同的键名

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
    request.setAttribute("key","value1");
    session.setAttribute("key2","value2");
    application.setAttribute("key3","value3");
    %>
    <h2>通过作用域获取对象:</h2>
    <h2><%=request.getAttribute("key")%></h2>
    <h2><%=session.getAttribute("key2")%></h2>
    <h2><%=application.getAttribute("key3")%></h2>
</hr>
    <h2>通过El表达式获取数据:</h2>
    <h2>${requestScope.key}</h2>
    <h2>${sessionScope.key2}</h2>
    <h2>${applicationScope.key3}</h2>
    </h2>
    <h2>通过El表达式2获取数据:</h2>
    <!--通过EL表达式获取数据,${name}获取作用域中的数据,主机查找{pageContext、request,
    session.application}-->
    <h2>${key}</h2>
    <h2>${key2}</h2>
    <h2>${key3}</h2>
</body>
</html>

运行结果:我的路径是创建一个el文件夹,jsp文件名为Eldemo01

4.2创建相同的键名得到的结果


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
  <%
   request.setAttribute("key111","value1");
   session.setAttribute("key111","value2");
    application.setAttribute("key111","value3");
  %>
  <h2>通过作用域对象获取</h2>
  <h2><%=request.getAttribute("key111")%></h2>
  <h2><%=session.getAttribute("key111")%></h2>
  <h2><%=application.getAttribute("key111")%></h2>
</hr>
//因为有不同的对象所以还是会获取
  <h2>通过el表达式获取数据</h2>
  <h2>${requestScope.key111}</h2>
  <h2>${sessionScope.key111}</h2>
  <h2>${applicationScope.key111}</h2>
</hr>
//因为三个都是key111所以只能获取第一个值
  <h2>通过el表达式2获取数据</h2>
  <h2>${key111}</h2>
  <h2>${key111}</h2>
  <h2>${key111}</h2>
</body>
</html>

运行结果:

5.EL和JSP脚本的区别是用存取不存的数据判断

  • <%=request.getAttribute() %>没有找到返回null

  • ${requestScope.name}没找到返回""

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    request.setAttribute("key111","value1");
    session.setAttribute("key222","value2");
    application.setAttribute("key333","value3");
%>
<h2>通过作用域对象获取</h2>
<%--获取的键不存在,返回为null--%>
<h2><%=request.getAttribute("key666")%></h2>
<h2><%=session.getAttribute("key666")%></h2>
<h2><%=application.getAttribute("key666")%></h2>
</hr>
<h2>通过el对象获取</h2>
<%--获取的键不存在,返回为null--%>
<h2>${requestScope.key666}</h2>
<h2>${sessionScope.key666}</h2>
<h2>${applicationScope.key666}</h2>
</body>
</html>

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/336729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stm32f407探索者开发板(十四)——IO引脚复用和映射

文章目录一、端口复用二、STM32F4的端口复用映射原理三、复用功能映射设置四、端口复用配置过程一、端口复用 端口复用和重映射都是和单片机的I/O口有关系&#xff0c;端口复用是将一个I/O赋予多个功能&#xff0c;通过设置I/O的工作模式来切换不同的功能。重映射是将某些I/O口…

【运维有小邓】特权用户监视

解决方案简介&#xff1a; 使用EventLog Analyzer进行特权用户监控和审核内部用户活动报表企业IT网络的特权用户&#xff08;系统管理员、网络管理员和数据库管理员&#xff09;拥有比普通网络用户更多的权力。他们负责保持系统可用性。他们将有权创建新的用户配置文件并分配权…

PCIE总线

PCIE总线记录描述PCI分类与速度PCIE连接拓扑与角色PCIE接口定义PCIE数据传输方式与中断在PCIE中有两种数据传输方式&#xff1a;PCIE中断&#xff1a;PCIE协议栈与工作流程PCIE地址空间分类实例分析PCIE两种访问方式描述 PCI-Express(peripheral component interconnect expre…

Python调用API接口,实现人脸识别

人生苦短&#xff0c;我用Python 在开始之前&#xff0c;先问问大家&#xff1a; 什么是百度Aip模块&#xff1f; 百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中 本文写的是使用百度AI的**在线接口SDK模块&#xff08;baidu-aip&#xff09;**进行实现人脸识…

K100多功能嵌入吞吐式电动发卡读写一体机|读卡器技术选型问答

K100多功能嵌入吞吐式电动发卡读写一体机|读卡器技术是一款带卡槽&#xff0c;支持150张标准卡存放&#xff0c;电动式发卡、读写一体&#xff0c;支持磁条卡读卡&#xff0c;发卡&#xff1b;支持符合ISO7816协议的接触式芯片卡发卡&#xff0c;读写卡&#xff1b;支持符合ISO…

【C++详解】——vector类

&#x1f4d6; 前言&#xff1a;本期介绍vector类。 目录&#x1f552; 1. vector的介绍&#x1f552; 2. vector的使用&#x1f558; 2.1 定义&#x1f558; 2.2 iterator&#x1f558; 2.3 空间增长&#x1f558; 2.4 增删查改&#x1f552; 2. vector的模拟实现&#x1f558…

Springboot+ssm微空间私人定向共享文件资料系统java

目 录 1绪论 1 1.1项目研究的背景 1 1.2开发意义 1 1.3项目研究现状及内容 5 1.4论文结构 5 2开发技术介绍 7 2.1 B/S架构 7 2.2 MySQL 介绍 7 2.3 MySQL环境配置 7 2.4 Java语言简介 8 2.5Jsp技术 8 3系统分析 9 3.1可行性分析 9 3.1…

Android Studio 编译C/C++生成.so文件

前期准备&#xff1a;下载NDK、CMake方法一&#xff1a;使用AndroidStudio自动创建NativeC/C 项目创建新项目创建项目后&#xff0c;会默认生成两个文件和相关默认配置.若创建好C项目后报错&#xff0c;则需要配置一下NDK路径如果上图配置页面显示无法配置&#xff0c;则需要手…

【疑难解决】EasyCVR集成宇视SDK关闭“按需直播”,一直未拉流是什么原因?

EasyCVR平台不仅能提供丰富的视频能力&#xff0c;还可提供云、边、端分布式海量视频资源的统一管理与运维&#xff0c;从而实现数据采集、处理、汇聚、分析、存储、管理等全环节的视频能力。借助智能分析网关的AI智能检测能力&#xff0c;可实现人脸、人体、车辆、烟火、物体、…

LeetCode-191-位1的个数

1、位运算 我们可以使用位运算来计算二进制串中1的个数。由于异或的性质&#xff0c;0与0异或为0&#xff0c;0与1异或为1&#xff0c;我们可以将n与0进行异或操作&#xff0c;而后逐位判断是否为1&#xff0c;最终将结果进行累加即可。 class Solution { public:int hamming…

Mybatis 基础1

Mybatis基础什么是Mybatis什么是框架ORM介绍快速入门环境搭建MyBatis的相关apiResources构建器SqlSessionFactoryBuilder工厂对象SqlSessionFactorySqlSession会话对象MyBatis 映射配置文件映射配置文件介绍查询功能新增功能修改功能删除功能小结Mybatis核心配置文件介绍核心配…

创建百度百科词条要交费吗?百度百科词条花钱吗?

互联网时代&#xff0c;百度逐渐成为了人们了解信息、搜集信息的主要渠道&#xff0c;越来越多的用户通过百度百科词条认识到了很多知名的人物、产品、品牌或是作品等等&#xff0c;百度百科词条在人们心中的信赖度也是越来越高。 百度百科词条具有权威性&#xff0c;百度百科…

Spring中Bean的生命周期(包含Spring执行流程)

文章目录一、Spring(Bean)执行流程二、Bean生命周期Bean的生命周期演示总结一、Spring(Bean)执行流程 启动容器(启动项目)读取配置文件(初始化) a) 使用xml注册bean b) 配置bean根(扫描)路径将bean存储到Spring中(存操作): 通过类注解进行扫描和装配将bean从Spring读取出来(取…

想要协同办公,企业云盘该怎么选?

信息数字时代&#xff0c;数字资产迎来爆发的同时&#xff0c;资产管理需求也在不断增加。在面对资源容量过大、素材无法大量共享等问题时&#xff0c;怎么让内容生产者和团队管理者更高效进行内容存储&#xff0c;满足项目在多元场景下分发、协作需求&#xff1f;赞奇超级云盘…

MySQL相关面试题

文章目录union 和 unionAll 的区别&#xff1f;drop、delete与truncate的区别 &#xff1f;sql 语句如何优化 &#xff1f;什么是事务 &#xff1f;事务的四个特性(ACID) &#xff1f;事务的隔离级别&#xff1f;索引主要有哪几种分类 &#xff1f;什么时候适合添加索引&#x…

ClickHouse 单机安装及基础知识与 Spark 应用

什么是 ClickHouse? ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 在传统的行式数据库系统中,数据按如下顺序存储: 处于同一行中的数据总是被物理的存储在一起。 常见的行式数据库系统有:MySQL、Postgres等。 在列式数据库系统中,数据按如下的顺…

ansible的常用模块介绍

ansible 常用命令/usr/bin/ansible  #Ansibe AD-Hoc 临时命令执行工具&#xff0c;常用于临时命令的执行/usr/bin/ansible-doc #Ansible 模块功能查看工具/usr/bin/ansible-galaxy  #下载/上传优秀代码或Roles模块 的官网平台&#xff0c;基于网络的/usr/bin/ansible-playbo…

第八章 Flink集成Iceberg的DataStreamAPI、TableSQLAPI详解

1、概述 ​ 目前Flink支持使用DataStream API 和SQL API方式实时读取和写入Iceberg表&#xff0c;建议使用SQL API方式实时读取和写入Iceberg表。 Iceberg支持的Flink版本为1.11.x版本以上&#xff0c;以下为版本匹配关系&#xff1a; Flink版本Iceberg版本备注Flink1.11.XI…

Windows 安装 Docker

一、Docker 官网 Dockerhttps://hub.docker.com/下载地址 window Docker 下载地址https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe 二、安装 检测是否已经安装了docker docker -v 如下图 &#xff1a; 如果没有安装&#xff0c;则在第一点下…

【Spark分布式内存计算框架——Spark Core】5. RDD 函数补充:关联函数与练习

关联函数 当两个RDD的数据类型为二元组Key/Value对时&#xff0c;可以依据Key进行关联Join。 首先回顾一下SQL JOIN&#xff0c;用Venn图表示如下&#xff1a; RDD中关联JOIN函数都在PairRDDFunctions中&#xff0c;具体截图如下&#xff1a; 具体看一下join&#xff08;等…