EL表达式
一、EL表达式简介:
EL 全名为Expression Language。主要作用有:
1.获取数据; (语法:"${标识符}") EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据
2.执行运算:(语法:${运算表达式}) 利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算
3.获取web开发常用对象:(语法:${隐式对象名称})EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
4.调用Java方法:EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
二、【】和.运算符
EL 提供“.“和“[ ]“两种运算符来存取数据,当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。
比如:${ user. My-Name}应当改为${user["My-Name"]};
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。如:${sessionScope.user[data]}中data 是一个变量
三、操作符
术语
|
定义
|
---|---|
算术型
|
+、-(二元)、*、/、div、%、mod、-(一元)
|
逻辑型
|
and、&&、or、||、!、not
|
关系型
|
==、eq、!=、ne、<、lt、>、gt、<=、le、>=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。
|
空
|
empty 空操作符是前缀操作,可用于确定值是否为空。
|
条件型
|
A ?B :C。根据 A 赋值的结果来赋值 B 或 C。
|
四、注意
1.当表达式根据名称引用这些对象之一时,返回的是相应的对象而不是相应的属性。
2.<%@ page isELIgnored="true" %> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言。
3.全局禁用EL表达式,在web.xml中进行如下配置:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>