JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP  EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP  EL表达式内可以使用整数型、浮点型、字符串、常量true、false,还有null。一般的在JSP标签中指定一个属性值时,需要使用一大行代码:

    <jsp:setProperty  name="box"  property="perimeter"  value="100"  />

  JSP  EL 允许指定一个表达式来表示一个属性值:${expr}   ,其中,expr指的是表达式。在JSP EL中通用的操作符是 . 和 {}。这两个操作符允许通过内嵌的JSP对象访问各种各样的JavaBean属性。例如上面的<jsp:setProperty>标签可以使用表达式语言写成下面形式:

    <jsp:setProperty   name="box"  property="permeter"  value="${box.width*2+box.height*2}"  />

   当JSP编译器在属性中见到"${}"格式后,它湖产生代码来计算这个表达式,并且产生一个替代品来代替表达式的值。

    <jsp:text>
Box Perimeter is:${box.width*2+box.height*}
</jsp:text>

   在EL表达式中可以使用圆括号来组织表达式,想要停用对EL表达式的评估,需要使用page指令的isELIgnored的属性值设置为true :

    <%@  page  isELIgnored="true|false" %>   //默认是false,即EL表达式有效

  将isELIgnored属性值设置为true,这样在这个JSP页面EL表达式就会失效。

EL中的基础操作符

  EL表达式支持大部分Java所提供的算术和逻辑操作符:

操作符 描述
. 访问对象的一个属性或者一个映射条目
[] 访问对象的一个属性或者一个数组、链表的元素
() 组织一个子表达式以改变优先级
+
-
*
/  or  div
%   or  mod 取余
==  or  eq 测试是否相等
!=  or  ne 测试是否不等
<  or  lt 测试是否小于(less  than)
>  or  gt 测试是否大于(greater  than)
<=   or  le 测试是否小于等于
>=  or  ge 测试是否大于等于
&&  or  and 测试逻辑与
||   or  or 测试逻辑或
!   or   not 测试逻辑非
empty 测试是否空值

JSP  EL中的函数

  JSP  EL允许在表达式中使用函数。这些函数必须被定义在自定义标签库中。

    ${fn:length("Get  my  length")}

   fn:length函数在JSTL库中定义,上面的语法可以获取一个字符串的长度,要使用任何标签库的函数,都需要将这些库安装在服务器中,然后使用<taglib>标签在JSP 文件中引用这些库。

JSP EL隐含对象

  JSP EL支持下表中的隐含对象:

隐含对象 描述
pageScope page作用域
requestScope request作用域
sessionScope session作用域
applicationScope application作用域
param request对象的参数,字符串
paramValues request对象的参数,字符串集合
header HTTP信息头,字符串
headerValues HTTP信息头,字符串集合
initParam 上下文初始化参数
cookie Cookie值
pageContext 当前页面的pageContext

pageContext对象

  pageContext对象是JSP中pageContext对象的引用。通过pageContext对象可以访问request对象。例如,访问request对象传入的查询字符串:

        ${pageContext.request.queryString}

 scope对象

  pageScope,requestScope,sessionScope,applicationScope变量用来访问存储在各个作用域层次的变量。如需要访问session范围域内的test变量,可以这样用${sessionScope.tset}。

param和paramValues对象

  param和paramValues对象用来访问参数值,用来替换request.getParameter方法和request.getParameterValues方法。例如,访问一个名为order的参数,可以用EL表达式:${param.order},或者${param[order]}。param对象返回单一的字符串,而paramValues对象则返回一个字符串数组。

JSP表达式语言(EL)的更多相关文章

  1. 【jsp】详解JSP表达式语言(EL)

    一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 ...

  2. JSP 表达式语言

    JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式.在JSP EL表达式内可以使用整型数,浮点 ...

  3. JavaWeb——JSP表达式语言(EL)

    1.JSP表达式语言(EL)用于在jsp从访问存储在JavaBean中的数据,例如 User ID: ${user.userId}<br /> 这里的${user.userId}就是JSP ...

  4. 表达式语言EL

    表达式语言EL 表达式语言 EL(Expression Language,表达式语言)主要是用在JSP页面中,用来辅助我们产生无脚本的JSP页面,此处的脚本指的是JSP中的Java代码. EL的语法是 ...

  5. 表达式语言EL简单学习

    Jsp2.0最重要的特性就是表达式语言EL.jsp用户可以用它来访问应用程序数据. EL表达式以${开头并以}结束. ${expresion}     ${x+y} 它也常用来连接两个表达式,取值将从 ...

  6. JSP-Runoob:JSP 表达式语言

    ylbtech-JSP-Runoob:JSP 表达式语言 1.返回顶部 1. JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建 ...

  7. 06.十分钟学会表达式语言EL

    一. 概念:MVC设计模式一个主要好处就是让jsp中的代码越来越来少,而且规定只能出现三种代码:接收属性,判断语句,迭代输出.但是,在开发中,jsp输出至少还是需要接受VO对象的,这时候为了避免导入V ...

  8. Java EE之表达式语言EL(上)

    1.了解表达式语言 表达式语言(EL)用于在不使用脚本.声明或者表达式的情况下,在JSP页面中渲染数据. EL曾是JSTL 1.0规范(与JSP 1.2)中的一部分,并且只可以用作JSTL标签的特性. ...

  9. Java EE之表达式语言EL(下)

    1.在EL表达式中使用作用域变量 表达式语言对作用域变量的支持,以及它解析变量的方式都使它变得非常有用. 1.1 EL表达式的隐式变量 EL表达式的作用域中定义了11个隐式变量. 当EL表达式引用了一 ...

随机推荐

  1. python实现堆排序

    理论知识: 二叉树:度不超过2的树(节点最多有两个叉) 满二叉树:一个二叉树,如果每一个层的节点数都达到最大值,则这个二叉树就是满二叉树. 完全二叉树:叶节点只能出现在最下层和次下层,并且最下面一层的 ...

  2. Python递归实现遍历目录

    import os filePath = "/Users/busensei/wzy/filePath/" def read(filePath, n): it = os.listdi ...

  3. java 环境变量的设置,备忘

    新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量值:.;%JAVA ...

  4. forward和sendRedirect的区别

    部分内容转自:http://blog.csdn.net/zhouysh/article/details/380364和http://blog.csdn.net/frank_jay/article/de ...

  5. python_9(模块补充)

    第1章 re模块补充 1.1 贪婪匹配:回溯算法 1.2 .*?的用法 1.3 例:分组<name>取值 1.4 匹配整数删除小数 1.5 正则测试地址 第2章 重点模块 2.1 hash ...

  6. Suricata的输出

    不多说,直接上干货! 见官网 https://suricata.readthedocs.io/en/latest/output/index.html 总的来说,Suricata采集下来的数据输出分为: ...

  7. 013、BOM对象的应用

    BOM结构图如下: DOM结构图如下: BOM和DOM BOM,Bowser Object Model浏览器对象模型.提供了访问和操作浏览器各组件的途径或方法. 比如:Navigator对象:浏览器的 ...

  8. mysql5.7.25集群部署和方案设计(附PXC一键部署脚本)

    还记得我们之前部署mysql集群有多麻烦嘛?波哥来救你们啦!~ 我已将项目上传到了我的github仓库中,大家可以点击仓库地址出现的连接登录查看相应的代码!如果觉得不错别忘了转发.点赞哦! 部署步骤: ...

  9. like SQL注入与防止 (bin2hex unhex)

    普通的列表模糊查询,可能会被sql注入利用,造成数据泄漏,严重的甚至导致删表删库! 程序中sql语句拼装: $sql = 'student_name like '"%'.$name.'%&q ...

  10. vue项目中常用的一些公共方法

    //校验手机号码 export function isSpecialPhone(num) { return /^1[2,3,4,5,7,8]\d{9}$/.test(num) } //校验中英文姓名 ...