EL表达式

什么是EL表达式?

EL(Expression Language)是为了使JSP写起来更加简单,它属于JSP技术。

EL表达式的作用

(1) 获取数据

 语法:${标识符}

在JSP页面中使用${标识符}的形式,通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果各个域对象中不存在标识符所对应的对象,则返回""(注意不是null)。

注意:

  1. 访问数组或List集合中的元素使用下标取值。
  2. 访问JavaBean的属性或Map集合中的元素使用“.”或者“[""]”取值。“[""]”可以处理一些不规则的标识符,如“-”。

(2) 执行运算

语法:${运算表达式} 

EL表达式支持如下运算符:

  1. 算数运算符:+   -   *   /   %
  2. 关系运算符: ==(eq)   !=(ne)   <(lt)   >(gt)   <=(le)   >=(ge)
  3. 逻辑运算符:&&(and)   ||(or)   !(not)
  4. 三目运算符:表达式1?表达式2:表达式3
  5. empty运算符:判断对象是否为""或null

(3) 获取web开发常用对象

EL表达式中定义了11个隐式对象,使用这些隐含对象可以很方便地获取web开发常见对象,并读取这些对象的数据。

语法:${隐式对象}

隐含对象及其描述:

  1. pageContext:对应于JSP页面中的pageContext对象(注意:取的是pageContext对象)  
  2. pageScope:代表page域中用于保存属性的Map对象  
  3. requestScope:代表request域中用于保存属性的Map对象  
  4. sessionScope:代表session域中用于保存属性的Map对象  
  5. applicationScope:代表application域中用于保存属性的Map对象  
  6. param:表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个String
  7. paramValues:表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个String[]  
  8. header:表示一个保存了所有http请求头字段的Map对象,返回的是一个String
  9. headerValues:表示一个保存了所有http请求头字段的Map对象,返回的是一个String[]。
  10. cookie:表示一个保存了所有cookie的Map对象  
  11. initParam:表示了一个保存了所有web应用初始化参数的Map对象(通过调用servletContext.getInitParameter(String name) 获得)

(4) 调用java方法

 语法:${prefix: method(params)}

EL表达式允许开发人员开发自定义EL函数,以调用java类的方法。在EL表达式中调用的只能是Java类的静态方法且这个Java类的静态方法需要在TLD文件中描述。自定义EL函数用于扩展EL表达式的功能,可以让EL表达式完成普通Java程序代码所能完成的功能。

注意

(1) EL表达式是JSP2.0规范中的技术。若想正确解析EL表达式,需要使用支持JSP2.0/Servlet2.4技术的Web服务器,如Tomcat6.0。

(2) <%@ page isELIgnored="value" %> 表示是否禁用EL表达式,true表示禁止,false表示不禁止。JSP2.0中默认启用EL表达式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值