EL(表达式语言)

1 EL概述

 1.1 EL的作用

  JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。

 1.2 EL的格式

  格式:${…}

  例如:${1 + 2}

 1.3 关闭EL

  如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored=”true”。

  如果希望忽略某个EL表达式,可以在EL表达式之前添加“\”,例如:\${1 + 2}。

 1.4 EL运算符

运算符

说明

范例

结果

+

${17+5}

22

-

${17-5}

12

*

${17*5}

85

/或div

${17/5}或${17 div 5}

3

%或mod

取余

${17%5}或${17 mod 5}

2

==或eq

等于

${5==5}或${5 eq 5}

true

!=或ne

不等于

${5!=5}或${5 ne 5}

false

<或lt

小于

${3<5}或${3 lt 5}

true

>或gt

大于

${3>5}或${3 gt 5}

false

<=或le

小于等于

${3<=5}或${3 le 5}

true

>=或ge

大于等于

${3>=5}或${3 ge 5}

false

&&或and

并且

${true&&false}或${true and false}

false

!或not

${!true}或${not true}

false

||或or

或者

${true||false}或${true or false}

true

empty

是否为空

${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty “”}

true

 

 1.5 EL不显示null

   当EL表达式的值为null时,会在页面上显示空白,即什么都不显示。

2 EL表达式格式

  操作List和数组:${list[0]}、${arr[0]};

  操作bean的属性:${person.name}、${person[‘name’]},对应person.getName()方法;

 操作Map的值:${map.key}、${map[‘key’]},对应map.get(key)。

 

3 EL内置对象

 EL一共11个内置对象,无需创建即可以使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。

    pageScope,requestScope, sessionScope,applicationScope,param,paramValues,

    header, headerValues, initParam,  cookie,  pageContext; 

 3.1 域相关内置对象(重点)

  域内置对象一共有四个:

    pageScope:${pageScope.name}等同与pageContext.getAttribute(“name”);

    requestScope:${requestScope.name}等同与request.getAttribute(“name”);

    sessionScoep: ${sessionScope.name}等同与session.getAttribute(“name”);

    applicationScope:${applicationScope.name}等同与application.getAttribute(“name”);

  如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取操作,所以JavaBean一 定要提供get方法,而set方法没有要求。

  全域查找:${person}表示依次在pageScope、requesScopet、sessionScope、appliationScope四个域中查找名字 为person的属性。

  注意,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是null。这一点与使用     request.getParameter()方法是不同的。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值