EL表达式

EL表达式 Expression Language

  EL表达式基本格式是:${},大括号里面可以使用a.b的形式,也可以使用a["b"]的形式(中括号里面的属性名需要用引号括起来,属性名是变量的时候,不用引号括起来。)。两种形式可以通用,但是在下面两种情况是只能使用中括号。

  1.要取的属性里面包含特殊的字符串,例如${user.["first-name"]},因为first-name包含特殊字符,所以只能使用中括号的形式。

  2.通过变量动态取值。例如${user[param]},当param是一个变量的时候,就只能使用中括号的形式。

 

  EL变量对应着JSP的内置对象(四大作用范围,左边是JSP,右边是EL名称):

    Page    => PageScope

    Request    => RequestScope

    Session     => SessionScope

    Application     => ApplicationScope

  如果EL变量里面没有写范围的话(类似于${username}),那么会默认的从PageScope, RequestScope, SessionScope, ApplicationScope中去寻找(从小到大),没有找到的话就会输出一个空字符串(“”)。

  EL存在自动类型转换,“+”运算只是进行算术运算,并没有拼接字符串的含义。拼接字符串使用concat函数,使用方式如下:

<c:if test="${'p'.concat(longValue)=='p1'}">some text</c:if>

  EL3.0提供了字符串拼接运算符"+=",例子如下:

<c:if test="${('p'+=longValue)=='p1'}">some text</c:if>

 

posted @ 2019-06-08 23:46  佟歌  阅读(397)  评论(0编辑  收藏  举报