表达式语言(EL)

所有的EL表达式都是以“${”开始,例如${expr}。当EL表达式作为标签的属性值时,
还可以使用#{expr}语法。

EL可以直接在JSP页面的模板文本中使用,也可以作为元素属性的值,还可以在自定义
或者标准动作元素的内容中使用,但不能在脚本元素中使用。

EL使用“[ ]”和“.”操作符来访问数据,即${expr-a.identifier-b}等价于${expr-a["identifier-b"]}.
在EL中,数组和List中的String类型的索引会被强制转换为int。
例如:
String[] names1={"zhangsan","lisi","wangwu"};
request.setAttribute("names2",names1);

第一个姓名可以通过${names2[0]} 或 ${names2["0"]}取得,但要注意,EL中的[]操作符并不是Java中 的数组访问操作符。

EL中的算术操作符:+,-,*,/(或div),%(或mod)。
注意:对于除法A{/,div}B,如果A和B的类型是BigDecimalBigInteger,将被转换为BigDecimal, 然后返回A.divide(B.BigDecimal.Roound_HALF_UP)。对于其他情况则将A、B强制转换为Double后再进行相除。举例如图:[img]http://dl.iteye.com/upload/attachment/369082/daa5f4f1-088a-3320-9bc3-e9af4969ed07.png[/img]

EL关系操作符:==(或eq)、!=(或ne)、<(或lt)、>(或gt)、<=(或le)、>=(或ge)。[img]http://dl.iteye.com/upload/attachment/369087/5db68718-0843-324a-9f5c-e7f03a23c87e.png[/img]

逻辑操作符:&&(或and)、||(或or)、!(或not)。

Empty操作符:作为前缀操作符,用于检测一个值是否为null或者为empty,是时返回true。

条件操作符:“?:”,例如:${A?B:C},A结果为true时返回B的结果,否则返回C的结果。

操作符的优先级:[]、()、算术操作符、关系操作符、逻辑操作符。

11个隐含对象(可划分三类):
a、pageContext:利用此对象可以访问ServletContext、Request、Response和Session等对象。例如:${pageContext.request()}
b、pageScope、requestScope、sessionScope、applicationScope,这四个可以精确定位。默认查找是Pagecontext.findAttribute(String)
方法,例如${user},该表达式将按照page,request,session,application范围的顺序查找命名为user的属性。
c、param(获取请求中的参数值,例如:${param.name})、
param Values(用于获取请求中的参数值,等同于request.getParameterValues(String name))、
header(用于获取请求报头的值,等同于调
ServletRequest.getHeader(String name))、
headerValues(用于获取请求报头的值,等同于调用ServletRequest.getHeaders(String name))、
cookie(用于获取cookie对象)、
initParam(用于获取Web应用程序初始化参数的值)
注意:对于包含连字符(-)或其他一些特殊字符的字符串只能用“[]”操作符,而不能用“.”操作符。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值