- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EL表达式简介 EL表达式,全名为Expression Language。它原本是JSTL 1.0为方便存取数据所自定义的语言。当时EL只能在JSTL 标签中使用,JSP2.0后,EL成为JSP规范的一部分,并增加了新的特性。 在JSP页面中使用EL表达式,可以获取并显示页面数据,并可以简化对变量和对象的访问。 注意: EL %@ page isELIgnored =true|false % EL具有如下特点: 可得到PageContext属性值 可直接访问JSP的内置对象,如page,request, session,application等 运算符丰富,有关系运算符、逻辑运算符、算术运算符等 扩展函数可与JAVA类的静态方法对应 EL表达式的格式 ${EL Expression} EL表达式都是以”${“开始,以”}”结束。 EL使用[]和.来访问数据。 ${exprA.identifier}等价于 ${exprA[“identifier”]} 当要存取的属性名称中包含一些特殊字符,如 . 或 – 等并非字母或 数字的符号,就一定要使用 [ ] EL表达式可以直接在JSP页面中使用,也可以作为元素属性的值,还可以在自定,但不能在脚本元素中使用。 EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。 EL取值范围 自动转变类型 EL 除了提供方便存取变量的语法之外,另外一个方便的功能就是:自动转变类型.如果属性不存在,EL表达式自动将null转为. ${param.count + 20} 如果用JSP 脚本语法: String str_count = request.getParameter(count); int count = Integer.parseInt(str_count); count = count + 20; 保留字 所谓保留字的意思是指变量在命名时,应该避开上述的名字,以免程序编译时发生错误。 EL 有 11 个保留标识符,对应于 11 个 EL 隐式对象。 操作符(了解) EL运算符分为四大类: 1、EL 算术运算符 2、EL 关系运算符 3、EL 逻辑运算符 4、EL 其他运算符 算数操作符 关系运算符 逻辑运算符 其他 Empty操作符是一个前缀操作符,用于检测一个值是否为null或者为“”。 例如:变量A不存在,则${empty A}返回的结果为true. EL中的条件操作符是 ?: 例如:${A ? B:C}, 如果A为true, 计算B并返回结果;如果A为false,计算C并返回结果。 圆括号用于改变执行的优先级。 例如:${ 23 * (5 – 2)} 操作符的优先级 例:${username} 对于没有指定属性范围的变量,JSP容器会先从page范围找。假如找不到,再依序到request、session、application范围,找到为止。 也可以指定属性范围: 运算符 描述 运算符 描述 and 与 ge 大于等于 or 或 true True not 非 false False eq 等于 null Null ne 不等于 empty 清空 le 小于等于 div 相除 gt 大于 mod 取模 3 ${23%5}或${23 mod 5} 取模(求余) % (或mod) 4.6 ${23/5}或${23 div 5} 除 / (或div) 115 ${23*5} 乘 * 18 ${23-5} 减 - 28 ${23+5} 加 + 结果 示例 说明 算术操作符 注意:对于除法运算a/b, 如果a和b为null, 返回(long)0; 如果a和b的类型为BigDecimal或BigInteger, 将被强制转型为BigDecimal, 然后返回a.divide(b, BigDecimal.ROUND_HALF_UP)。对于其他情况,则将a和b强制转换为Double, 然后进行相除。 结果 示例 说明 算术操作符 true ${23 = 5} 或 ${23 ge 5} 大于等于 = (或 ge) false ${23 =5 } 或 ${23 le 5} 小于等于 = (或 le) true ${23 5} 或 ${23 gt 5} 大于 (或 gt) false ${23 5} 或 ${23 lt 5} 小于 (或 lt) true ${23!=5} 或 ${23 ne 5} 不等于 != (或 ne) false ${23==
文档评论(0)