Jsp入门EL表达式_学习笔记

1.EL表达式
[1] 简介
> JSP表达式 <%= %> 用于向页面中输出一个对象。
> 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段。
> 使用EL表达式来代替JSP表达式 ,使用标签来代替脚本片段。
> EL表达式用来向页面输出内容

[2] 基本语法
> ${表达式}
> EL表达式可以从域中获取属性。
- 使用 ${属性名}
- 如果只填写一个属性名,EL表达式会自动做全域查找。
- 所谓的全域查找,就是按照page request session
application四个域范围内分别,找到就返回属性,如果没找到什么都不返还。

- 我们还可以指定去哪个域查找
pageScope
requestScope
sessionScope
applicationScope

- 例子:
查找request中属性
${requestScope.属性名}
查找session中的属性
${sessionScope.属性名}

- 注意:EL表达式只能获取域中的属性
EL表达式不能直接调用对象的方法

- 通过EL表达式读取对象的属性时,只需要${对象.属性名}
EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上一个get

注意:只要有属性,就可以一直点下去,也就说对象的属性是对象的话,我们也可以通过对象的属性的属性的方式调用!

- 当读取一些名字比较特殊的属性时,这种特殊值必须要指定域,例如属性名带-:
${requestScope[‘属性名‘]}

[3] 隐含对象
> EL中一共有11个内置对象。
- pageContext
类型 PageContext
它和JSP中pageContext是一个东西
作用 可以获取到JSP中其他的隐含对象
例如:可以获取项目名:
${pageContext.request.contextPath }

- pageScope
类型:Map<String,Object>
代表:page域中的属性
作用:可以获取到page域中的属性

- requestScope
类型:Map<String,Object>
代表:request域中的属性
作用:可以获取到request域中的属性

- sessionScope
类型:Map<String,Object>
代表:session域中的属性
作用:可以获取到session域中的属性

- applicatScope
类型:Map<String,Object>
代表:application域中的属性
作用:可以获取到application域中的属性

- param
类型: Map<String , String>
代表:用户发送的请求参数
作用:可以获取请求参数
用法: ${param.参数名}

- paramValues
类型:Map<String , String[]>
代表:一个请求参数对应的多个值
用法: ${paramValues.参数名[索引]}

- header
作用:可以获取到用户发送的请求头
类型:Map<String , String>
例如:获取用户的系统信息 ${header[‘User-Agent‘]}

? - headerValues
类型: Map<String , String[]>
作用:可以获取一个头的多个值

? - initParam;
类型:Map<String , String>
作用:获取整个WEB应用的初始化参数

? - cookie
类型:Map<String , Cookie>
作用:用来获取Cookie

[4] 运算
> 在EL中可以直接使用运算符进行运算。

> 在EL中可以使用Empty元素符:
如果值为null , empty则返回 true
如果为空串, 则返回 true
空的集合 返回true
> 所以empty元素符经常用来判断集合或者字符串是否为空

时间: 2024-12-30 04:02:11

Jsp入门EL表达式_学习笔记的相关文章

JSP、EL表达式的入门(要用)

2018-08-12   22:55:23 * JSP.EL表达式的入门(要用)    * Servlet/JSP  是两种动态的WEB资源的两种技术.   * 使用Servlet 生成HTML的页面    response.getWriter("<form action='' method='post'>");    response.getWriter("<input type='text' name='username'>");  *

python基础教程_学习笔记6:字典

字典 映射(mapping),一种可通过名字引用值得数据结构. 字典是python中唯一内建的映射类型. 字典中的值没有特殊的顺序,但都存储在一个特定的键(key)里.键可以是数字.字符串甚至是元组. 字典的使用 某些情况下,字典比列表更加适用,比如: 表征游戏棋盘的状态,每个键都是由坐标值组成的元组: 存储文件修改数,用文件名作为键: 数字电话/地址簿: 假如有一个人名列表如下: >>>names=['Alice','Beth','Cecil','Dee-Dee','Earl'] 如果

python基础教程_学习笔记5:字符串

字符串 基本字符串操作 字符串也是序列,因此序列的基本操作(索引.分片.连接.乘法.长度.求最大值和最小值.成员资格)对字符串同样适用: 索引 >>> 'a_string'[0] 'a' 长度 >>> len('a_string') 8 求最大值 >>> max('a_string') 't' 求最小值 >>> min('a_string') '_' 乘法 >>> 'a_string'*2 'a_stringa_st

python基础教程_学习笔记20:标准库:一些最爱——os

标准库:一些最爱 os os模块为你提供了访问多个操作系统服务的功能. os和它的子模块os.path还包括一些用于检查.构造.删除目录和文件的函数,以及一些处理路径的函数. os模块中一些重要函数和变量 函数/变量 描述 environ 对环境变量进行映射 system(command) 在子shell中执行操作系统命令 sep 路径中的分隔符 pathsep 分隔路径的分隔符 linesep 行分隔符('\n','\r','\r\n') urandom(n) 返回n字节的加密强随机数据 os

python基础教程_学习笔记11:魔法方法、属性和迭代器

魔法方法.属性和迭代器 在python中,有的名称会在前面和后面各加上两个下划线,这种写法很特别.它表示名字有特殊含义,所以绝不要在自己的程序中使用这种名字.在python中,由这些名字组成的集合所包含的方法叫做魔法(或称特殊)方法.如果对象实现了这些方法中的某一个,那么这个方法会在特殊的情况下被python调用,而几乎没有直接调用它们的必要. 准备工作 为了确保类是新型的,应该把赋值语句__metaclass__=type放在你的模块的最开始,或者(直接或间接)子类化内建类(实际上是类型)ob

python基础教程_学习笔记7:条件、循环、其它语句

条件.循环.其它语句 print和import 随着更加深入地学习python,可能会出现这种感觉:有些自以为已经掌握的知识点,还隐藏着一些让人惊讶的特性. 使用逗号输出 打印多个表达式,只要将这些表达式用逗号隔开即可: >>> print "age:",28 age: 28 参数之间都插入了一个空格符. 如果在结尾加上逗号,那么接下来的语句会与前一条语句在同一行打印: print "Hello,", print "World!"

Shell入门之脚本管理学习笔记

1.shell介于操作系统与用户之间,负责解释命令行 2./etc/shells 记录了系统支持的有效登录的shell 3./etc/passwd 最后一位可以看到用户默认的shell 4.直接输入shell的名称 可以切换shell 5.shell命令的记录可以用history查看 history -c 清除 历史命令存放在.bash_history文件中 6.shell的指令可以用 alias 别名 = 实际名 来替换 取消则用 unalias 别名 7.shell变量 <1>定义变量 变

Spring入门IOC和AOP学习笔记

Spring入门IOC和AOP学习笔记 概述 Spring框架的核心有两个: Spring容器作为超级大工厂,负责管理.创建所有的Java对象,这些Java对象被称为Bean. Spring容器管理容器中Bean之间的依赖关系,使用一种叫做"依赖注入"的方式来管理bean之间的依赖关系. Spring有两个核心接口:BeanFactory和ApplicationContext,ApplicationContext是BeanFactory的子接口.它们都可以代表Spring容器,Spri

python基础教程_学习笔记23:图形用户界面

图形用户界面 丰富的平台 在编写Python GUI程序前,需要决定使用哪个GUI平台. 简单来说,平台是图形组件的一个特定集合,可以通过叫做GUI工具包的给定Python模块进行访问. 工具包 描述 Tkinter 使用Tk平台.很容易得到.半标准. wxpython 基于wxWindows.跨平台越来越流行. PythonWin 只能在Windows上使用.使用了本机的Windows GUI功能. JavaSwing 只能用于Jython.使用本机的Java GUI. PyGTK 使用GTK