EL exp

EL表达式

Expression Language

EL语法

         El语法简单,使用方便

${……}  ---> ${expression}

例:${sessionScope.user.sex}

A、EL提供.[] 存取数据

 ${sessionScope.user.sex} ${sessionScope.user[“sex”]} 等同

也可以这样使用:${ sessionScope.shoppingCart[0].price}

注意: 

1、  当要存取的属性名称中包含一些特殊字符,如. 或 – 等并非字母或数字的符号,就一定要使用 [ ],如,${user.my-name}就应该改为${user[“my-name”]}

2、  ${sessionScope.user[data]}  ,如果是要动态取值则应使用[],

此时,data 是一个变量,假若data的值为"sex"时,那上述的例子等于${sessionScope.user.sex};假若data 的值为"name"时,它就等于${sessionScope.user.name}。因此,如果要动态取值时,就可以用上述的方法来做,但 . 无法做到动态取值。

EL 存取变量数据的方法很简单,例如:${username}它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它的默认值会先从Page 范围找,假如找不到,再依序到RequestSessionApplication范围。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null

属性范围         EL 中的名称

Page            PageScope

Request          RequestScope

Session          SessionScope

Application       ApplicationScope

其中,pageScoperequestScopesessionScopeapplicationScope都是EL 的隐含对象,由它们的名称可以很容易猜出它们所代表的意思,例如:${sessionScope.username}是取出Session范围的username 变量。

B、自动转换类型

C、EL的保留字

and      eq   gt  true

or   ne   le   false

no lt     ge   null

instanceof    empty     div        mod

所谓保留字的意思是指变量在命名时,应该避开上述的名字,以免程序编译时发生错误。

 

 

EL隐含对象     11

隐含对象                  类型                          说 明

PageContext       javax.servlet.ServletContext   表示此JSP PageContext

PageScope        java.util.Map       取得Page范围的属性名称所对应的值

RequestScope     java.util.Map       取得Request 范围的属性名称所对应的值

sessionScope      java.util.Map       取得Session 范围的属性名称所对应的值

applicationScope   java.util.Map       取得Application 范围的属性名称所对应的值

param             java.util.Map        如同ServletRequest.getParameter(String

name)。回传String 类型的值

paramValues      java.util.Map       如同ServletRequest.getParameterValues(String

name)。回传String []类型的值

header            java.util.Map      如同ServletRequest.getHeader(String name)。回传String 类型的值

headerValues      java.util.Map     如同ServletRequest.getHeaders(String name)。回传String []类型的值

cookie             java.util.Map     如同HttpServletRequest.getCookies( )

initParam          java.util.Map   如同ServletContext.getInitParameter(String name)。回传String 类型的值

特别强调

1、注意当表达式根据名称引用这些对象之一时,返回的是相应的对象而不是相应的属性。

例如:即使现有的 pageContext 属性包含某些其他值,${pageContext} 也返回

PageContext 对象。 

2、注意 <%@ page isELIgnored="true" %> 表示是否禁用EL语言,TRUE表示禁止.FALSE

表示不禁止.JSP2.0中默认的启用EL语言。

 

jsp EL 中的有效表达式

   有效表达式可以包含文字、操作符、变量(对象引用)、函数调用。

文字

  Boolean      truefalse

  Integer       可以包含任何正数或负数,例如 24-45567

  Float         可以包含任何正的或负的浮点数,例如 -1.8E-454.567

  String       任何由单引号或双引号限定的字符串。对于单引号、双引号和反斜杠,使

用反斜杠字符作为转义序列。必须注意,如果在字符串两端使用双引号,则

单引号不需要转义

  Null        null

算术符

  +-(二元)、*/div%mod-(一元)

  and&&or||!not

==eq!=ne、、gt<=le>=ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较

空操作符是前缀操作,可用于确定值是否为空

条件型 A ?B :C。根据 A 赋值的结果来赋值 B C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值