el表达式功能详解

作者: 小小蒜头 | 来源:发表于2017-05-06 21:07 被阅读100次

EL全名为Expression Language。EL主要作用有:

获取数据##

EL表达式主要用于替换jsp页面中的脚本表达式,以从各种类型的web域中检索java对象、获取数据。(某个web域中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
在jsp页面里有这样的代码:

<%
    String data = "abcd";
    request.setAttribute("data",data);
%>
${data}

里面的el表达式 ${data} 最终会被翻译成pageContext.findAttribute("data"); ,在找的过程中先从page域,然后是request域,再是session域,终是application域,找不到返回null,也不会对页面有影响,找到了就返回数据。

执行运算##

利用EL表达式可以在jsp页面中执行一些基本的关系运算、逻辑运算和算术运算。

执行运算.png

图片里标红的部分我写了两个简单的例子,代码如下:

<%
    //request.setAttribute("list",null);
    request.setAttribute("list",new ArrayList());
%>
${empty(list)}

下面这个表达式有个不方便的地方就是不能用+连接字符串,只能连接数字。注意: ${user != null ?欢迎您:+ user.username : ''}是错误的。二元运算符用的比较多的还有数据回显。

//用户名不为空,返回user.username,否则返回 ''
${user != null ? user.username : ''}

获取web开发常用对象##

EL表达式定义了11个隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。

pageContxet:对应于JSP页面中的pageContext对象(注意:去的是pageContext对象)
pageScope:代表page域中用于保存属性的Map对象
requestScope:代表request域中用于保存属性的Map对象
sessionScope:代表session域中用于保存属性的Map对象
applicationScope:代表application域中用于保存属性的Map对象
param:表示一个保存了所有请求参数的Map对象
paramValues:表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个String[]
header:表示一个保存了所有请求头字段的Map对象
headerValues:同上,返回String[]数组。注意:如果头里面有“-”,例如Accept-Encoding,则要headerValues["Accept-Encoding"],也就是用el表达式调用时不能像map.Accept-Encoding,而要map["Accept-Encoding"]
cookie:表示一个保存了所有cookie的Map对象
initParam:表示一个保存了所有web应用初始化参数的map对象

调用java方法##

EL表达式允许用户开发自定义EL函数,能在jsp页面中通过EL表达式调用java类的方法。

  • 示例:${prefix: method(params)}
  • 在EL表达式中调用的只能是java类的静态方法
  • 这个方法需要在TLD文件中描述成EL函数,才可以被EL表达式调用
  • EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通java程序代码所能完成的功能

相关文章

  • el表达式功能详解

    EL全名为Expression Language。EL主要作用有: 获取数据## EL表达式主要用于替换jsp页面...

  • java中el 及jstl知识的总结

    El表达式的语法: ${表达式} 注意: 自带响应的功能 El表达式的使用: El表达式获取请求数据 获取用户请求...

  • 前端表达式

    EL与JSTL表达式 EL介绍 什么是EL 表达式语言 EL的功能 替代JSP页面中数据访问时的复杂编码 EL特点...

  • JSTL与EL表达式笔记

    EL表达式应用 初始EL表达式 EL表达式 EL(Expression Language)表达式语言用于简化JSP...

  • EL表达式

    EL表达式语法 ${ EL expression}其中:$ 表示EL表达式的开始。EL expression指定...

  • [java][EL、JSTL、OGNL]:总结及区别

    EL表达式:表达式语言 不是一种开发语言,是jsp中获取数据的一种规范 EL的具体功能 1、获取数据 2、运算 三...

  • EL表达式详解

    一、EL表达式简介 EL 全名为Expression Language。EL主要作用: 获取数据:EL表达式主要用...

  • 4.El表达式

    1.EL表达式 1.EL表达式的作用 2. EL语法

  • 【JavaWeb】EL表达式

    EL表达式 EL表达式语言,用于简化JSP的输出;EL表达式的基本语法:${表达式};示例: 学生姓名:${stu...

  • 17.3EL表达式

    一、EL表达式简介 EL 全名为Expression Language。EL主要作用:1、获取数据EL表达式主要用...

网友评论

    本文标题:el表达式功能详解

    本文链接:https://www.haomeiwen.com/subject/ibcytxtx.html