${表达式} EL的前世今生: EL即Expression Language,是一种简单的数据访问语言,最初是JSTL1.0中定义的,从JSTL1.1开始,Sun公司将其从JSTL分离出来,成为JSP2.0规范中单独的一部分,并增加了很多新的特性。 最基本的应用: ${user} 等效于jsp脚本表达式:<%= pageContext.findAttribute(“user”) %> 访问javaBean中的属性对象中的属性: ${lesson.student.id} 访问有序集合中的元素: ${teacherIds[2]} 执行基本的关系运算、逻辑运算和算术运算: ${1 > (5 / 2)} 输出结果:false 使用自定义函数完成一些复杂功能 ${xyz:filter(“<img/>”)} 其中,xyz:filter是自定义函数,“<img/>”是传递给这个自定义函数的参数 在EL表达式中使用一些列隐含对象: 如:pageContext、cookie 在页面上输出”${“: “\” + “$”,即”\${xyz}”可以输出” ${xyz}” 另外,${“${”}可以输出”${” 忽略页面中所有的EL表达式: <%@ page isELIgnored=”true” %>
EL的基本语法: 标识符(变量和自定义函数名称):有任意顺序的大小写字母、数值、下划线组成,不能以数值开头,不能使用EL中的保留字,布恩那个使用EL隐含对象的标识符,不能使用的符号:单引号,双引号,减号,正斜杠(/) 保留字:and,eq,or等 EL中的常量: 布尔:true/false 整形:与java中的十进制整形常量相同 浮点数:取值范围同Double,可以使用指数形式(如1.2E4) 字符串:用单引号双引号引起来的一连串的字符 关于内部单/双引号的转义(\)规则: 只有用单引号引起来的字符串,内部的单引号才需要转义,双引号不需要转义 同理,只有双引号… Null: EL中的变量: El表达式语言的核心概念就是将变量映射到一个对象上,其中的变量不用先定义,而是直接使用,EL API中定义了javax.servlet.jsp.el.VariableResolver类来将一个变量名映射到某个对象上,他实现了隐含对象的映射,还实现了非隐含对象的变量标识符与各个域范围内的属性值的映射。 如果EL表达式中包含变量名不对应EL隐含对象的标识符,则EL引擎将调用pageContext.findAttribute()方法在各个域中(page,request,session,applecation)依次查找变量名的属性值,如果找到这个属性,则返回找到的属性值,如果没有找到,则返回null。 |
EL表达式语言语法及其他
最新推荐文章于 2021-11-19 19:27:13 发布