EL表达式:
1.概念:expression Language 表达式语言
2.作用:替换和简化jsp页面中Java代码的编写。
3.语法${}
4.注意
*jsp默认支持el表达式的。
*isElIgnored用来设置是否使用EL表达式。在jsp页面中默认时true。
*需求:不要展示EL表达式,要展示原来的页面。
方法一:设置jsp中page指令中:isElIgnored="true";(忽略EL表达式,默认情况下为false)(这个忽略的是这个页面的所以EL表达式)
方法二:${表达式}:忽略这一个EL表达式,而不是忽略所有的EL表达式.
5.使用:
1.运算符:
*运算符:
1.算数运算符:+;_;*;/(除法可以使用div来表示);%(取余可以使用mod来表示)
2.比较运算符:>,<,>=,<=,==,!=
3.逻辑运算符:&&(可以使用and来表示);||(可以使用or来表示);!(可以使用not来表示)
4.空运算符: empty(以后会经常使用)
*功能:用于判断字符串,集合,数组对象是否为null或者长度是否为零
*${empty list}:用于判断字符串,集合,数组对象是否为null或者长度是否为零
*${not empty str}:用于判断字符串,集合,数组对象是否不为null或者长度大于零
2.获取值
1.EL表达式只能从域对象中获取值
2.语法:
1.${域名称,键名}:从指定域中获取指定键的值(如果有值则显示该值,如果没有值则显示空)
*域名称:
1.pageScope--------->pageContext
2.requestScope------>request
3.sessionScope------>session
4.applicationScope-->application(ServletContext)
*举例:在request域中存储了name=张三
*获取:${requestScope.name}
2.${键名}:表示从最小的域中查找是否有该键对应的值,直到找到为止
3.获取对象,List集合,Map集合
1.对象:${域名称.键名.属性名}
*本质上会去调用对象的getter方法
2.List集合:${域名称.键名[索引]}
3.Map集合:
*${域名称.键名.key名称}
*${域名称.键名["key名称"]}(key名称需要用单引号或者双引号引起来)
3.隐式对象:(不需要创建可以直接拿来用的对象称作隐式对象)(EL表达式中有11个隐式对象)
隐含对象名称 描 述
pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
pageScope 代表page域中用于保存属性的Map对象
requestScope 代表request域中用于保存属性的Map对象
sessionScope 代表session域中用于保存属性的Map对象
applicationScope 代表application域中用于保存属性的Map对象
param 表示一个保存了所有请求参数的Map对象
paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
header 表示一个保存了所有http请求头字段的Map对象
headerValues 同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
cookie cookie 表示一个保存了所有cookie的Map对象
initParam 表示一个保存了所有web应用初始化参数的map对象