表达式语言EL简单学习

Jsp2.0最重要的特性就是表达式语言EL。jsp用户可以用它来访问应用程序数据。

EL表达式以${开头并以}结束。

${expresion}     ${x+y}

它也常用来连接两个表达式,取值将从左到右进行,计算结果为String。   加入a+b等于8,c+d等于10,则两个表达式的计算结果为810      ${a+b}${c+d}

表达式${a+b}and${c+d}的取值结果则为8and10

如果在定制标签的属性值中使用EL表达式,那么表达式的取值结果将会强制变成该属性需要的类型: <my:tag someAttribute="${expression}"/>

${这样的字符顺序标识的就是一个EL表达式的开头,如果需要文本${则加个转义字符    ${

关键字:

以下是关键字,它们不能用来做标识符:

and eq gt true instanceof

or ne le false empty

not It ge null div mod

[]和.运算符:

EL表达式可以返回   任意   类型的值。如果EL表达式的结果是一个带有属性的对象,则可以利用[]或.运算来访问改属性。   这两种运算类似,前者更加规范,后者更加简洁。

${object["propertyName"]}      ${object.propertyName}

但是如果propertyName不是有效的Java变量名,则只能使用[]运算符。 例如下面这个EL表达式就可以用来访问隐式对象标题中的HTTP标题的host

${header[host]}    ${header.host}

但是想要访问accept-language标题,则只能用[]运算符,因为accept-language不是个合法的Java变量名。

访问JavaBean:

${beanName["propertyName"]}   ${beanName.propertyName}

EL隐式对象:

在jsp页面中可以利用jsp脚本来fagnwenjsp隐式对象,但是在免脚本的jsp页面中则不能访问这些隐形对象。EL允许通过一组它自己的隐式对象来访问不同的对象。

像pageContext对象,这个隐式对象厉害了,包含了所有的其他jsp隐式对象。${pageContext.request.mehtod}    ${pageContext["request"]["method"]}  这样就可以获取请求方法。

……

……还有贼多

EL还有很多其他运算符,就一些正常的运算符,但用处比较有限。

原文地址:https://www.cnblogs.com/wangshen31/p/7581781.html