表达式语言EL简单学习

Posted 汪神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表达式语言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还有很多其他运算符,就一些正常的运算符,但用处比较有限。

以上是关于表达式语言EL简单学习的主要内容,如果未能解决你的问题,请参考以下文章

EL表达语言

EL表达式 入门

Spring学习(十三)-----Spring 表达式语言(Spring EL)

JSP--EL表达式

EL表达式

JSPEL表达式语言