javaWeb之表达式语言---初始EL

1,何为表达式语言(Expression Language,EL)?

    EL是JSP 2.0中新增的功能,使用EL可以方便的访问标志位(JSP中一共有page[pageContext],request,session和application4种标志位)中的属性内容,这样可以减少页面中的脚本代码;

2,EL的格式:${属性名称}

   使用表达式语言可以方便地访问对象中的属性,提交的参数或者是进行数学运算,当内容为空时,则会自动输出空字符串("")表示;

看一个最简单的例子:

没有El之前我们应该这么写:

	<%
		request.setAttribute("name","keith");
		if(request.getAttribute("name")!= null){
	 %>
	 
	 <%=request.getAttribute("name")%>
	 
	 <%} %>

 有了EL,我们这么写:

	<%
		request.setAttribute("name","keith");
	 %>
	 ${name }

 这样页面会简介很多,维护也很方便;

3,表达式语言(EL)的内置对象:

EL的主要功能就是进行内容的显示,为了显示方便,在EL中提供了很多内置对象,通过对不同内置对象的设置,EL可以输出不同的内容,这些内置对象如下:

NoEL内置对象说明
1pageContext表示javax.servlet.jsp.PageContext对象
2pageScope表示从page属性范围查找输出属性
3requestScope表示从request属性范围查找输出属性
4sessionScope表示从session属性范围查找输出属性
5applicationScope表示从application属性范围查找输出属性
6param接收传递到本页面的参数
7paramValues接收传递到本页面的一组参数
8header取得一个头信息数据
9headerValues取得一组头信息数据
10cookie取出cookie中的数据
11initParam取得配置的初始化参数

4,访问4中属性范围的内容:

EL语言可以输出4中属性范围中的内容,如果此时在不同的属性范围中设置了同一个属性名称,则按照:page-->request-->session-->application顺序查找:

	<%
	pageContext.setAttribute("info","page 属性范围");
	request.setAttribute("info","request 属性范围");
	session.setAttribute("info","session 属性范围");
	application.setAttribute("info","application 属性范围");		
	 %>
	 
	 ${info }

输出的是:page 属性范围

这时可以指定一个要取出范围的属性,范围一共有4种标记:

No属性范围范例说明
1pageScope${pageScope.属性}取出page范围的属性内容
2requestScope${requestScope.属性}取出requestScope范围的属性内容
3sessionScope${sessionScope.属性}取出sessionScope范围的属性内容
4applicationScope${applicationScope.属性}取出applicationScope范围的属性内容

则上面的例子可以这么写:

	<%
	pageContext.setAttribute("info","page 属性范围");
	request.setAttribute("info","request 属性范围");
	session.setAttribute("info","session 属性范围");
	application.setAttribute("info","application 属性范围");		
	 %>
	 
	page 属性范围: ${pageContext.info }
	request 属性范围: ${requestScope.info }
	session 属性范围: ${sessionScope.info }
	application 属性范围: ${applicationScope.info }

 5,调用内置对象操作:

   在JSP内置对象里,可以使用pageContext()取得request,session,application的实例,在EL中可以通过pageContext这个表达式的内置对象调用JSP内置对象中提供的方法(调用方法是通过反射机制完成的);

	IP地址:${pageContext.request.remoteAddr }<br />
	session ID:${pageContext.session.id }<br />
	是否新的session:${pageContext.session.new }

 6,接收请求参数:

   使用EL还可以显示接收的请求参数,功能与request.getParameter()类似,语法:接收参数:${param.参数名称} ;

页面:

	通过内置对象接收输入参数:<%=request.getParameter("info") %>
	通过EL语言接收输入参数:${param.info }

 在浏览器上输入:http://localhost:8080/jsp/elTest.jsp?info='keith'

下面传入一组参数,语法:接收参数:${paramValues.参数名称} ;

 

	<form action="paramValuesDemo.jsp" method="post">
		爱好:<input type="checkbox" name="inst" value="唱歌">唱歌
		    <input type="checkbox" name="inst" value="游泳">游泳
		    <input type="checkbox" name="inst" value="看书">看书
		    <input type="submit" value="显示">
	</form>

 paramValuesDemo.jsp:(上面接收的一组参数,如果想要取出,则需要分别指定下标; )

	<%request.setCharacterEncoding("UTF-8");%>
	第一个参数:${paramValues.inst[0] }<br />
	第二个参数:${paramValues.inst[1] }<br />
	第三个参数:${paramValues.inst[2] }<br />

 7,集合操作:

   在EL语言中已经很好地支持了集合的操作,可以方便的使用EL输出Collection(子接口:List,Set),Map集合中的内容。

看下List集合:

	<%
	//实例化List接口
	List all = new ArrayList();
	//向集合中增加内容
	all.add("keith");
	all.add("学习JAVA!");
	//向request集合中保存
	request.setAttribute("allInfo",all);
	 %>
	 
	 第一个元素:${allInfo[0] }
	 第二个元素:${allInfo[1] }
	 第三个元素:${allInfo[2] }

 看下Map集合:

	<%
	Map map = new HashMap();
	map.put("name","keith");
	map.put("age","21");
	request.setAttribute("info",map);
	 %>
	 Name:${info["name"] }
	 Name:${info["age"] }
Java代码中使用JSP/JSF表达式语言EL NULL 博文链接:https://rensanning.iteye.com/blog/2013260 立即下载

相关推荐

双向全桥隔离DC-DC变换器(DAB)的调制优化与挑战解析

本文深入解析了双向全桥隔离DC-DC变换器(DAB)的核心调制技术及其面临的挑战。文章从基础的相移调制(SPS)入手,逐步探讨了扩展相移(EPS)、双重相移(DPS)等进阶策略,并重点分析了电流优化与零电压开通(ZVS)等硬核优化技巧。针对DAB在实际应用中存在的建模困难、多模块并联及数字实现等挑战,提供了实用的应对策略与设计思路,旨在帮助工程师在性能、复杂度与成本之间找到最佳平衡。

weixin_29271053的博客 572

javaweb中表达式语言

理解表达式EL并不是一种通用的编程语言,它只是一种数据访问语言。网页作者通过它可以很方便的在jsp页面中访问应用程序数据,无需使用小脚本()或jsp请求时表达式(),甚至不用学习Java语言就可以使用表达式语言。所以它有很多方便之处。 我们利用上一章Javabean的

Miss__wang的博客 947

zynq+LWIP 裸机双网口实现(MIO+EMIO)+程序下载

芯片型号: ZYNQ: XC7Z010clg400开发软件:Vivado2022 + Xilinx Vitis 2022网卡芯片:RTL8211FDI(需要根据网口芯片型号修改对应的硬件配置代码。

thinking in 小宇宙 3408

Java Web入门之EL(表达式语言)的解析及使用

Java Web入门之EL(表达式语言)的解析及使用 包括五大部分

showswoller的博客 1039

【Pandas总结】第二节 Pandas 的数据读取_pd.read_csv()的使用详解(非常全面,推荐收藏)

pandas对纯文本的读取提供了非常强力的支持,参数有四五十个。这些参数中,有的很容易被忽略,但是在实际工作中却用处很大。

weixin_47139649的博客 11万+

DeepSeek Harness接入QQ实战:把DSH变成赛博群友

大模型应用正从单机问答走向多平台集成,如何将模型能力嵌入即时通讯工具成为工程实践的热点。消息接入、会话管理、插件扩展是构建智能群聊机器人的核心三要素。DeepSeek Harness(DSH)作为一款模型会话工作流管理工具,凭借多会话管理、模型调用编排以及灵活的插件机制,能够在QQ群聊场景中实现“接收消息→模型生成→回复推送”的完整闭环。本文从基础概念切入,详解DSH接入QQ的两种实现路线——外部API转发与原生插件适配,覆盖环境准备、启动调试、接口调用与性能观察,并给出常见问题排查清单。无论是本地AI助理

weixin_27427619的博客 1911

java web进阶篇(三) 表达式语言

表达式语言(Expression Language ,EL)是jsp2.0中新增的功能。可以避免出现许多的Scriptlet代码 格式: ${ 属性名称 },  使用表达式语言可以方便的访问对象中的属性,提交的参数或者进行各种数学运算,而且使用表达式语言最大的特点是如果输出的内容是null,则会自动使用空字符串("")表示。 ${name} 表达式语言的主要功能就是进行内容的显示

ShyBoyes的专栏 1438

CAN总线介绍及硬件设计

1. CAN是什么 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很 多,线束的数量也随之增加。为适应“减少线束的数量”、“......

sinat_15677011的博客 9992

JavaWeb(四) - EL表达式 和 JSTL

EL - (Expression Language)表达式语言 基本概念 EL 表达式提供了在 JSP 中简化表达式的方法,可以方便地访问各种数据并输出。 主要功能 -- 依次访问 pageContext、request、session 和 application 作用域对象存储的数据。 -- 获取请求参数值。 -- 访问 Bean 对象的属性。 -- 访问集合中的数据。 -- 输出简单的运算结果。 1. 访问内置对象的数据 <%= request.getAttribut

bier_zm的博客 477

Sigrity Power DC Single-BoardPackage IR Drop Analysis模式进行单板压降仿真分析操作指导

如果需要单独对某个via设置参数,右侧选择Setup by padstack,下方下拉选择某个via,单独设置参数即可。举例:板厚1.6mm,内层1OZ(1.2mil,即0.03mm),铜皮宽度1mm,20度温升,允许通流I为2.5A。目的是模拟实际情况,via的孔壁电镀1mil,中间是空心的,让via不完全被填充金属成为实心via。Upper/lower Tolerance:上下公差,设置为5%,也就是压降允许的范围。电流密度计算公式:J=I/A(J为电流密度,I为电流,A为横截面积)

weixin_54787054的博客 697

实战!C#整合YOLO+Halcon做玻璃瓶口缺陷检测:裂纹识别+尺寸测量一步到位(附DLL交互代码)

AI擅长语义识别(裂纹、缺陷),传统机器视觉擅长精密测量(尺寸、位置),C#做整合层,才能满足工业生产的“精度+效率+稳定性”要求。这套方案不只是玻璃瓶检测能用,改改模型和测量逻辑,还能用到瓶盖缺陷检测、饮料瓶液位检测等场景。如果你们厂也有类似的质检痛点,评论区留个言,我帮你看看怎么调整算法参数。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 870

java页面表达式_JavaWeb学习——表达式语言

EL表达式一、EL简介JSP2.0最重要的特性之一就是表达式语言(EL),JSP用户可以使用它来访问应用程序数据。受ECMAScript和XPath表达式语言的启发,EL也设计成可以轻易编写免脚本的JSP页面。即页面中不使用任何JSP声明、表达式或者scriptlets。二、EL语法EL语法结构: ${ expression }它也常用来连接两个表达式。对于一系列的表达式,他们的取值将是从左到右进...

weixin_29866423的博客 322

单片机应用案例:ESP32 搭配 BH1750 光强传感器和 Web 服务器

在该应用案例中,我们将使用 ESP32 开发板作为主控制器,BH1750 光强传感器用于采集环境光强度数据,并通过 Web 服务器展示采集到的数据。步骤一:购买材料步骤二:连接硬件步骤三:编写代码我们将使用 Arduino IDE 编写代码,以下是主要代码:// WiFi 设置const char* ssid = “你的 WiFi 名称”;const char* password = “密码”;// Web 服务器实例// BH1750 实例// 获取当前光强度数据。

RlDart的博客 813

Javaweb学习笔记(EL表达式)

Javaweb学习笔记(EL表达式)初始ELEL语法EL中的标识符EL中的保留字EL中的变量EL中的常量EL隐式对象pageContext对象 初始EL EL可以简化JSP页面的书写,EL表达式的语法都是以“${”开始,以“}”结束。具体格式如下: ${表达式} EL语法 EL中的标识符 EL表达式中的标识符可以任由顺序大小字母、数字和下划线组成。 EL在定义标识符中需要遵循: (1)不能以数字开头。 (2)不能是EL保留字。 (3)不能是EL隐式对象。 (4)不能包含单引号、双引号等特殊字符。 EL中的

qq_50834939的博客 1366

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JavaWeb笔记,黑马课程,期末速成复习

首先在项目中导入黑马给的html和css文件创建db1数据库,创建tb-user表,创建User实体类导入myBatis坐标,Mysql驱动坐标创建mybatis-config.xml核心配置文件,UserMapper.xml映射文件,UserMapper接口在核心配置文件中设置数据库的链接环境,如果是配置文件开发还要设置sql映射文件或者包扫描。

qq_62377928的博客 2412

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

2021.6.16JavaWeb考试

又要考试了,临时抱抱脚丫子~ 目录第八章EL表达式 第八章EL表达式 答案在上面。以下内容分析选项。 1.A。EL的内置对象和JSP的有挺大的区别的。对于JSP来说,一共有9个内置对象:request、response、session、application、out、pagecontext、config、page、exception;但是如果使用EL表达式的话,需要没有request,response这些对象,想要获得request都需要写${pageContext.request} D。javabea

Abider2的博客 578

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java精选笔记_EL表达式

EL表达式 初始EL EL是一种可以简化JSP页面的表达式,EL表达式的语法非常简单都是以“${”符号开始,以“}”符号结束的 EL表达式是一种简单的数据“访问”语言,只能读,不能写。需要写在JSP页面上 EL能实现对pageContext对象、session对象、request对象等存储对象的简化访问,能够简洁地访问请求参数、Cookie和其他请求数据,即EL可以很方便地访问大多数J...

weixin_33726313的博客 129

2.2JSP学习——表达式语言

EL是一种简单的语言,可以方便地访问和处理应用程序数据,而无需使用JSP脚本元素或JSP表达式。其最大的优势是方便地访问JSP的隐含对象和javabean组件,使JSP页面从HTML代码中嵌入java代码的混乱结构得以改善,提高了程序的可读性和易维护性。特点:可以访问JSP的内置对象简化了对javabean、集合的访问方式可以对数据进行自动类型转换可以通过各种运算符进行运算可以使用自定义函数实现跟...

smallhc的博客 535

9、Javaweb

Javaweb 1、Tomcat 1.作用:客户端向服务器发送请求,实际上就是发给服务器上安装的Tomcat这样的服务器程序,Tomcat负责监听是否有请求,监听到有请求,Tomcat会负责后续一系列的工作。 2.安装:直接将tomcat压缩包解压到某个位置即可,一般将jdk,idea,tomcat,mysql等相关软件,全都放在一个文件夹中,好管理,比如d:\java。 3.Tomcat目录: bin:Tomcat应用程序所在目录,比如启动、停止服务的程序(startup.bat shutdow.b

m0_45016196的博客 210

Java web day9

第7章EL表达式和JSTL 7.1初始JavaBean 7.1.1什么是JavaBean JavaBean是java开发语言中可以重复使用的组件,本质是一个Java类,作用是封装数据。 写JavaBean需要满足的规范如下: 1.它要提供公共的无参数的构造方法 2.它要被被public修饰 3…要定义私有属性 4.要给定义的私有属性提供公共的set方法或get方法 5.要实现book接口 public class Book { private String id; private String name;

m0_55689412的博客 133

JavaWeb

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:html,字符串…超文本:图片,音乐,视频,定位,地图…默认端口:80HTTPS:安全的协议默认端口:443(1).Servlet就是sun公司开发动态web的一门技术。(2).Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:一.编写一个类,实现Servlet接口;二.把开发好的Java类部署到web服务器中。

2301_76556912的博客 1008

Java Webday9

第7章EL表达式和JSTL 7.1初始JavaBean 7.1.1什么是JavaBean JavaBean是java开发语言中可以重复使用的组件,本质是一个Java类,作用是封装数据。 写JavaBean需要满足的规范如下: 1.它要提供公共的无参数的构造方法 2.它要被被public修饰 3…要定义私有属性 4.要给定义的私有属性提供公共的set方法或get方法 5.要实现book接口 public class Book { private String id; private Stri

m0_55689307的博客 154

java web day9

第7章EL表达式和JSTL 7.1初始JavaBean 7.1.1什么是JavaBean JavaBean是java开发语言中可以重复使用的组件,本质是一个Java类,作用是封装数据。 写JavaBean需要满足的规范如下: 1.它要提供公共的无参数的构造方法 2.它要被被public修饰 3…要定义私有属性 4.要给定义的私有属性提供公共的set方法或get方法 5.要实现book接口 public class Book { private String id; private Stri

qq_55689246的博客 148

Javaweb学习笔记之JSP技术(三)

欢迎访问我的blogThe Blog of Dxhua JSP JSP简介 JSP全名Java Server Page,是为了简化Servlet的工作而出现的替代品 在JSP中HTML和java代码共同存在,其中HTML代码用于展示静态的内容,java代码用来展示动态的内容 JSP产生的原因 Servlet中也可以完成HTML的输出,但是当网页过于复杂,Servlet的使用和部署就比较困难,...

小二上酒hua的博客 484

Jsp操作总结

Jsp是可以写html标签的Servlet 一、Jsp语法 1、指令 <%@…%> 1.1、page指令 1.2、include指令 2、脚本程序 <%…%> 3、EL表达式

cgl_dong的博客 339

java jsp页面开发_JavaWeb——JSP开发1

1、什么是jsp,为什么要使用jsp。再使用idea创建完一个web工程后,在webapp目录下会生成一个index.jsp直接编译运行,网站将自动打开这样一个网页:所以我们可以推测这个index.jsp就是决定这个项目的初始页面的HTML编码的,这里的hello-world是部署Tomcat时设置的。所以其实JSP就是用来编写HTML编码的一种解决方案,那为什么需要额外的这样一套解决方案呢?这是...

weixin_39583751的博客 576
上一篇: jsp/servlet之监听器
下一篇: javaWeb之表达式语言---应用MVC
keithJava
博客等级 码龄16年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值