EL 与 JSTL(1)( EL 表达式基础知识)

news2024/11/27 19:40:35
EL 表达式用美元符号“$”定界,内容包含在一对花括号“{}”中,例如:${expression}。
EL 表达式语法很简单,它最大的特点就是使用很方便。

 1.EL 表达式特点

(1)在 EL 表达式中可以获得命名空间(PageContext 对象,它是页面中所有其他内置对象的最大范围的集成对象,通过它可以访问其他内置对象);
(2)表达式可以访问一般变量,还可以访问 JavaBean 类中的属性以及嵌套属性和集合对象;
(3)在 EL 表达式中可以执行关系、逻辑和算术等运算;
(4)扩展函数可以与 Java 类的静态方法进行映射;
(5)在表达式中可以访问 JSP 的作用域(request,session,application 以及 page)。
<jsp:useBean id="dao" scope="page" class="com.UserInfoDao"></jsp:useBean> 
<%dao.name;%> <!--调用 UserInfoDao 类中 name 属性--> 
<%dao.getName();%> <!--调用 UserInfoDao 类中 getName()方法-->
<jsp:useBean id="dao" scope="page" class="com.UserInfoDao"></jsp:useBean> 
${dao.name} <!--调用 UserInfoDao 类中 name 属性--> 
${dao.getName()} <!--调用 UserInfoDao 类中 getName()方法-->

2.EL 获取变量值的方法

 EL 使用到的变量作用域范围的名称:
  1.  page 范围:在 EL 中使用名称 pageScope;
  2.  request 范围:在 EL 中使用名称 requestScope;
  3.  session 范围:在 EL 中使用名称 sessionScope;
  4.  application 范围:在 EL 中使用名称 applicationScope。
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% String s1 = "Hello!"; 
 request.setAttribute("s1",s1); 
 String s2="Hello!"; //未将 s2 放入域空间,EL 将无法获取
 %>
 <%="${s1}"%>=${s1} <br> 
 <%="${s2}"%>=${s2} <br>

</body>
</html>

3.EL 利用“[ ]”与“.”操作符取数据

 

 

<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.HashMap"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% char[] ch = { '1', '2' }; 
 request.setAttribute("ch", ch); //将字符数组变量 ch 置于 requestScope 域,以便 EL 可以访问。 
 String s1 = "Hello,how are you!"; 
 request.setAttribute("s1", s1); 
 List<String> list = new ArrayList<String>();
 list.add("first"); 
 list.add("second"); 
 request.setAttribute("list", list); 
 HashMap<Long, String> map1 = new HashMap<Long, String>(); 
 map1.put(0L, "天翼"); 
 map1.put(1L, "翼支付"); 
 request.setAttribute("map1", map1); 
 %>
 s1=${s1}<br> 
 字符数组:<%="${ch[1]}"%>=${ch[1]} <br> 
 List 集合:<%="${list[1]}"%>=${list[1]}<br> 
 Map 集合:<%="${map1[1]}"%>=${map1[1]} <br>
 
 
</body>
</html>

 4.EL 表达式中的隐式对象

 

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

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

相关文章

uni-app入门:全局数据共享方案之mobx

1.全局数据共享介绍 2.准备工作 3.使用说明 3.1 page页面进行全局数据共享 3.2 component组件进行全局数据共享 1.全局数据共享介绍全局数据共享也叫作状态管理,主要用于组件间数据共享问题的处理.实际开发中常用的实现方案:vuex、redux、mobx&…

西山科技将于12月6日上会:年收入2亿元,耗材收入成为新增长点

11月29日&#xff0c;上海证券交易所科创板披露的信息显示&#xff0c;重庆西山科技股份有限公司&#xff08;下称“西山科技”&#xff09;将于2022年12月6日接受科创板上市委的现场审议。目前&#xff0c;西山科技已经更新了招股书&#xff08;上会稿&#xff09;。 据贝多财…

uni-app 使用 webview运行到小程序,打开萤石云视频

由于微信小程序特殊性&#xff0c;导致APP和h5适应的它都适应不了&#xff0c;因此&#xff0c;不得不对小程序做一些特殊的处理。 问题一&#xff1a;微信小程序无法打开web-view 的URL 相对于APP和H5而言&#xff0c;微信小程序比较严格&#xff0c;对于打开外链这种功能&a…

综述向:强化学习方法梳理(持续更新)

最近组内需要做强化学习相关研究&#xff0c;因为面对的是新项目&#xff0c;同事们对强化学习的原理都不太了解&#xff0c;我们就计划轮流在组内做一些不定期分享&#xff0c;补充相关的基础知识。于是我对强化学习的一些经典算法进行了梳理&#xff0c;并在此进行记录&#…

Observability:从零开始创建 Java 微服务并监控它 (一)

在本教程中&#xff0c;你将学习如何使用 Elastic 可观察性监控 Java 应用程序&#xff1a;日志、基础设施指标、APM 和正常运行时间。通过本教程&#xff0c;你将学到&#xff1a; 创建示例 Java 应用程序。使用 Filebeat 提取日志并在 Kibana 中查看你的日志。使用 Metricbe…

DPPE-PEG-Fucoidan 岩藻多糖-聚乙二醇-二棕榈酰基磷脂酰乙醇胺

DPPE-PEG-Fucoidan 岩藻多糖-聚乙二醇-二棕榈酰基磷脂酰乙醇胺 中文名称&#xff1a;岩藻多糖-二棕榈酰基磷脂酰乙醇胺 英文名称&#xff1a;Fucoidan-DPPE 别称&#xff1a;DPPE修饰岩藻多糖&#xff0c;DPPE-岩藻多糖 存储条件&#xff1a;-20C&#xff0c;避光&#xff…

Java - 缓冲输入输出流 (BufferedInputStream、BufferedOutputStream)

缓冲 Buffer 它是内存空间的一部分&#xff0c;在内存空间中预留了一定的存储空间&#xff0c;这些存储空间用来缓冲输入或输出的数据&#xff0c;这部分空间就叫做缓冲区&#xff0c;缓冲区是具有一定大小的。 数据传输速度和数据处理的速度存在不平衡&#xff0c;例如每秒要写…

SwiftUI教程之如何在 Xcode 14 中创建曲线导航栏动画

让我们开始打开 ​​Xcode 14。我们将在 ContentView 中执行所有代码。首先,我要添加一些资产。 现在我们可以转到 ContentView 并开始编码了!💯 我们将要实现@Environment 协议、GeometryReader 和路径。 SwiftUI 中的@Environment 协议是什么? 使用Environment属性包…

用Python制造雪景图,体验 “ 人工下雪 ” 得快乐~

前言 大家早好、午好、晚好吖 ❤ ~ 今天起床&#xff0c;一看温度&#xff0c;赶忙穿上我的秋裤 一到外面&#xff0c;那风呼啦呼拉拉得吹&#xff0c;感觉我魂都跑了 别的地方已经下雪&#xff0c;而我才刚降温&#xff0c;而且还是骤降 都开始学习Python了&#xff0c;是时候…

计算机组成原理习题课第四章-2(唐朔飞)

计算机组成原理习题课第四章-2&#xff08;唐朔飞&#xff09; ✨欢迎关注&#x1f5b1;点赞&#x1f380;收藏⭐留言✒ &#x1f52e;本文由京与旧铺原创&#xff0c;csdn首发&#xff01; &#x1f618;系列专栏&#xff1a;java学习 &#x1f4bb;首发时间&#xff1a;&…

WRKY转录因子通过促进GhMKK2介导的类黄酮生物合成调节棉花对尖孢镰刀菌的抗性

文章信息 题目&#xff1a;Group IIc WRKY transcription factors regulate cotton resistance to Fusarium oxysporum by promoting GhMKK2-mediated flavonoid biosynthesis 刊名&#xff1a;New Phytologist 作者&#xff1a;Lijun Wang&#xff0c;Chen Wang,Xingqi Guo…

利用FinalShell访问虚拟机

一、安装FinalShell 下载路径&#xff1a;https://pan.baidu.com/s/1uDIxLBnhrAQl_UqSHtD2Vw 提取码&#xff1a;fiaa 二、启动FinalShell 三、创建SSH连接 三、设置虚拟机主机名 1、查看虚拟机的主机名 命令&#xff1a;hostname 命令&#xff1a;cat /etc/hostname …

「Redis」01 NoSQL及Redis概述

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——NoSQL及Redis概述 技术的分类 解决功能性的问题&#xff1a;Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN解决扩展性的问题&#xff1a;Struts、Spring、SpringMVC、Hibernate、Mybatis解决性能的问题&am…

大客车玻璃擦净器设计

目 录 摘 要 I ABSTRACT II 1 绪论 1 1.1选题背景及意义 1 1.2发展现状 2 1.3发展趋势 3 1.4研究主要内容 4 2 大客车玻璃擦净器总体方案设计 5 2.1 大客车玻璃擦净器设计思想 5 2.2功能分析 5 2.3工作原理分析 6 2.4功能分解 6 2.4.2传动系统 6 2.4.3真空吸盘 7 2.4.4 清洁刷 …

devtools安装

文章目录一、devtools安装二、参考、推荐、补充一、devtools安装 vue官网上找到vue-devtools的GitHub项目 https://github.com/vuejs/devtools 我选择放在E盘中新建的devtools文件中&#xff0c;解压 进入解压好的devtools-main文件夹中 这里默认已经下载了node 然后在命…

CML、LVPECL和LVDS

1、Current-mode drivers VS Voltage-mode drivers 2、CML&#xff08;Current Mode Logic&#xff09; CML drivers that are built from an open-drain differential pair and a voltage-controlled current source using NMOS transistors. The outputs (Output and Outp…

02_openstack私有云部署

目录 一、环境准备 1、准备服务器 2、主机名与域名配置 3、yum仓库配置 4、配置时间同步 二、安装Openstack与Nova依赖环境 1、Nova依赖软件包安装 2、Openstack依赖软件包安装 三、搭建私有云 1、环境检查 2、配置应答文件answer.ini 一、环境准备 1、准备服务器 …

NHS-PEG-Biotin,Biotin-PEG-NHS,活性酯peg生物素生物素PEG衍生物

Biotin-PEG-NHS&#xff08;NHS-PEG-Biotin&#xff09;是生物素PEG衍生物的一种&#xff0c;该化学试剂其中文名为活性酯-聚乙二醇-生物素&#xff0c;它所属分类为Biotin PEG NHS ester PEG。 peg试剂的分子量均可定制&#xff0c;有&#xff1a;活性酯-聚乙二醇2-生物素&am…

[附源码]计算机毕业设计springboot基于VUE的网上订餐系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

RabbitMQ交换机

假设工作队列背后&#xff0c;每个任务都恰好交付给一个消费者(工作进程)。而将消息传达给多个消费者&#xff0c;这种模式称为“发布/订阅”。 例&#xff1a;构建一个简单的日志系统。它将由两个程序组成&#xff1a;第一个程序将发出日志消息&#xff0c;第二个程序是消费者…