el 能否定义作用域变量_EL表达式语法简介及其使用
文章目录
- EL是什么?
- 为什么使用EL?
- EL示例
- EL操作符
- EL的关系运算符和逻辑运算符
- EL表达式的隐式对象(不需要new就能使用的对象, 自带的对象)
EL是什么?
Expression Language ,可以替代JSP贝面中的JAVA代码。
为什么使用EL?
传统的在JSP中用java代码显示数据有一些弊端他们使得代码更加复杂,比如: 类型转换、 需要处理null、代码参杂 ,EL可以很好的解决这些问题。
EL示例
$ {域对象.域对象中的属性.属性.属性.级联属性]
$ {requestScope.student.address.schoolAddress}
EL操作符
点操作符. :使用方便
中括号操作符[ ]:功能强大:可以包含特殊字符(. 、-) , 可以访问数据、获取数组元素、获取变量值,例如存在变量name,则可以$ {requestScope [name]}
需要注意的是,如果使用中括号操作符里面的值不是变量值,则需要加单引号或者双引号。
EL的关系运算符和逻辑运算符
值得说一下的是Empty运算符
判断一个值如果为null或者不存在则返回true,否则返回fales
举个例子,假设我们定义了name的值为a,没有定义age的值,且定义了number的值为null,那么以下代码的输出结果则为false、true、true
${ empty requestScope[ " name"] } 不存在的值: ${ empty requestScope["age"] }、 ${ empty requestScope . number}
EL表达式的隐式对象(不需要new就能使用的对象, 自带的对象)
- 作用域访问对象(EL域对象) :
1.pageScope 2.requestScope
3.sessionScope 4.applicationScope
//假设前面定义了一个sessionKey,那么通过以下方式取值${sessionScope.sessionKey}
如果sessionKey不指定域对象,则默认会根据从1到4的顺序依次取值
- 参数访问对象
用于获取表单数据
以前JSP获取表单数据是这样子拿的
(request. getParameter ()、request. getParameterValues() )
EL这样子拿
$ {param} 、$ {paramValues}
- JSP隐式对象:pageContext
在jsp中可以通过pageContext.获取其他的jsp隐式对象;
通常我们获取Session对象是这样获取
$ {pageContext. getSession()}
但在EL里面,可以把get和括号去掉,然后首字母变小写,就可以拿到Session对象,其他对象也一样。
$ {pageContext. session}
同样,可以使用此方法级联获取其他方法
$ ipageContext.request.serverPort}
今天的分享就到这里,希望对大家有所帮助!
el 能否定义作用域变量_EL表达式语法简介及其使用相关推荐
- 使用 el 能否定义作用域变量_Jsp之El表达和JSTL标签库
传统获取作用数据案例 <% request.setAttribute("str", "test");//往作用域中进行数据的存储 User user = ...
- el 能否定义作用域变量_python命名空间和作用域
一.命名空间 1.定义:命名空间(Namespace)是从名称到对象的映射 2.实现:大部分的命名空间都是通过 Python 字典来实现的 3.目的:命名空间提供了在项目中避免名字冲突的一种方法 4. ...
- el 能否定义作用域变量_Python 基础知识全篇-命名空间和作用域
命名空间 先看看官方文档的一段话: A namespace is a mapping from names to objects.Most namespaces are currently imple ...
- java el表达式原理_EL表达式详解
@[TOC]EL 1.EL简介 1.1为什么使用EL? EL可以简化JSP中的表达式代码 1.2EL全称: Expression Language,是jsp内置的表达式语言 1.3EL作用: 访问域中 ...
- Go 学习笔记(6)— 变量定义、变量声明、变量作用域
1. 变量定义 Go 语言变量名由字母.数字.下划线组成,其中首个字符不能为数字.声明变量的一般形式是使用 var 关键字: var varName dataType [= value] Go 语言和 ...
- 利用抽象语法树检查Python中“未定义”的变量名
其实,Python是一种真正的动态语言,代码中的变量名本没有"声明"或"定义"的说法,语言本身也没有提供声明或定义变量的特殊语法(global除外).对程序员来 ...
- python 全局变量使用报错没有定义_Python变量作用域代码解析
本篇文章小编给大家分享一下Python变量作用域代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 特点 python的作用域是静态的,在源代码中 ...
- python定义字符串变量有两种常用方式_Python 1基础语法二(标识符、关键字、变量和字符串)...
一.标识符 标识符就是程序员自己命名的变量名.名字需要有见名知义的效果,不要随意起名 :比如 a=1 a是个变量,a这个变量名属于标识符 1 company = '小米 2 employeeNum = ...
- java数据类型_Java 变量、表达式和数据类型详解
数据类型 一.变量 变量: 表示存储空间,可用来存放某一类型(整数.小数...)的数据,没有固定值,变量值是可变的,可重复使用,也可以用来存储某种类型的未知数据. 变量的特点: ① 占据内存中的一块存 ...
- C语言学习笔记07-1-语句结构:选择/循环(附三元运算符;DevC可以for定义临时变量的设置;continue、break、return;goto语句简单说明)
选择/分支 与 循环/重复 语句结构 本质与流程图的三种结构类似,只是C语言没有until型循环,不难理解.文末捎带说一下goto语句. 结构化语句可以实现程序单一出口,goto 是非结构化的,会打乱 ...
最新文章
- 北京工业大学计算机科学与技术学科评估,本次学科评估进步最大学校之一——北京工业大学...
- 【实验吧】CTF_Web_简单的SQL注入之1
- Windows下查找文件或文件夹被哪个进程占用
- 月活675万 三翼鸟以三大能力“重建”行业赛道
- MySQL查询昨天的数据
- Linux下redis安装与使用
- 电商咄咄逼人的黑色星期五促销横BANNER设计模板
- SpringCloud 服务网关 Zuul 自定义路由和排除路由配置
- ubuntu使用之-rime
- 测试自动化普遍存在的问题
- WIFI内部通话系统技术解决方案
- Apache LoadModule php5_module 配置
- 《信号与系统》解读 第1章 信号与系统概述-6:系统对时域信号的基本运算与基本变换---幅度、加法、乘法、积分、微分、时延、反转、混合
- 理解稀疏编码sparse coding
- 第二讲 综合评价分析—TOPSIS法
- js动态添加多个元素
- GoldenDict启动进入后台 Ubuntu
- 2021年全球自动浓缩咖啡机行业调研及趋势分析报告
- 热门招聘丨 XTransfer史上最全产品技术岗位公开招聘
- Linux/ubuntu深度学习,查看cuda、cudnn、显卡、驱动的版本的命令
热门文章
- httpclient 无信任证书使用https
- ANT的环境搭建和开发
- UploadBean实现文件上传(转)
- 书店管理系统(C++初学者友好版)
- vue+webpack5项目中全局引入scss
- vue点击下载图片的实现
- Express框架学习笔记-express路由参数
- android tv tts,TTS发音问题
- join为什么每个字符都分割了 js_2019JS必看面试题
- apache如何加载系统环境变量_游学电子:windows10系统如何用cmd指令设置环境变量...