`

EL语言

阅读更多

EL的前世今生

 

         EL即Expression Language,是一种简单的数据访问语言,最初是JSTL1.0中定义的,从JSTL1.1开始,Sun公司将其从JSTL分离出来,成为JSP2.0规范中单独的一部分,并增加了很多新的特性。

 

最基本的应用

 

${user}

等效于jsp脚本表达式:<%= pageContext.findAttribute(“user”) %>或<%=request.getSession().getAttribute("user")>

 

访问javaBean中的属性对象中的属性

 

${sessionScope.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。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics