当前位置: 首页 > news >正文

JSP EL表达式的基本语法及运算符(超详细)

EL 是 JSP 2.0 规范中新增加的,它的基本语法如下:

${表达式}

EL 表达式类似于 JSP 表达式 <%=表达式%>,EL 语句中的表达式值会被直接送到浏览器显示,通过 page 指令的 isELIgnored 属性来说明是否支持 EL 表达式。

当 isELIgnored 属性值为 false 时,JSP 页面可以使用 EL 表达式,当 isELIgnored 属性值为 true 时,JSP 页面不能使用 EL 表达式。isELIgnored 属性值默认为 false。

EL 的语法简单、使用方便,它以${开始、以}结束。

1. “[]”与“.”运算符

EL 使用“[]”和“.”运算符来访问数据,主要使用 EL 获取对象的属性,包括获取 JavaBean 的属性值、获取数组中的元素以及获取集合对象中的元素。

对于 null 值直接以空字符串显示,而不是 null,在运算时也不会发生错误或空指针异常,所以在使用 EL 访问对象的属性时不需要判断对象是否为 null 对象,这样就为编写程序提供了方便。

1)获取 JavaBean 的属性值

假设在 JSP 页面中有这样一句话:

<%=user.getAge()%>

那么可以使用 EL 获取 user 对象的属性 age,代码如下:

  1. ${user.age}

  1. ${user["age"]}

其中,点运算符前面为 JavaBean 的对象 user,后面为该对象的属性 age,表示利用 user 对象的 getAge 方法取值并显示在网页上。

2)获取数组中的元素

假设在 Controller 或 Servlet 中有这样一段话:

  1. String dogs[] = {"lili","huahua","guoguo"};
  2. request.setAttribute("array",dogs);

那么在对应视图 JSP 中可以使用 EL 取出数组中的元素,代码如下:

  1. ${array[0]}
  2. ${array[1]}
  3. ${array[2]}

3)获取集合对象中的元素

假设在 Controller 或 Servlet 中有这样一段话:

  1. ArrayList<UserBean> users = new ArrayList<UserBean>();
  2. UserBean ub1 = new UserBean("zhang",20);
  3. UserBean ub2 = new UserBean("zhao",50);
  4. users.add(ub1);
  5. users.add(ub2);
  6. request.setAttribute("array",users);

其中,UserBean 有两个属性 name 和 age,那么在对应视图 JSP 页面中可以使用 EL 取出 UserBean 中的属性,代码如下:

  1. ${array[0].name} ${array[0].age}
  2. ${array[1].name} ${array[1].age}

2. 算术运算符

在 EL 表达式中有 5 个算术运算符,如表 1 所示。

算术运算符说 明示 例结 果
+${13+2}15
-${13-2}11
*${13*2}26
/(或div)${13/2}或${13 div 2}6.5
%(或mod)取模(求余)${13%2}或${13 mod2}1

3. 关系运算符

在 EL 表达式中有 6 个关系运算符,如表 2 所示。

关系运算符说 明示 例结 果
==(或 eq)等于${13==2}或${13 eq 2}false
!=(或 ne)不等于${13!=2}或${13 ne 2}true
<(或 lt)小于${13<2}或${13 lt 2}false
>(或gt)大于${13>2}或${13 gt 2}true
<=(或le)小于等于${13<=2}或${13 le 2}false
>=(或ge)大于等于${13>=2}或${13 ge 2}true

4. 逻辑运算符

在 EL 表达式中有 3 个逻辑运算符,如表 3 所示。

逻辑运算符说 明示 例结 果
&&(或and)逻辑与如果 A 为 true,B 为 false,则 A && B(或 A and B)false
\\(或 or)逻辑或如果 A 为 true,B 为 false,则 A\\B(或 A or B)true
!(或 not)逻辑非如果 A 为 true,则 !A(或 not A)false

5. empty 运算符

empty 运算符用于检测一个值是否为 null,例如变量 A 不存在,则 ${empty A} 返回的结果为 true。

6. 条件运算符

EL 中的条件运算符是“? :”,例如 ${A ? B:C},如果 A 为 true,计算 B 并返回其结果,如果 A 为 false,计算 C 并返回其结果。

相关文章:

  • ip达1万的网站怎么做/如何优化搜索引擎的准确性
  • 服装商城网站源码/西安百度seo代理
  • 企业形象网站建设/百度地图的精准定位功能
  • 收录网站工具/软广告经典案例
  • 中国站长查询域名备案/sem营销
  • 亚马逊deal网站怎么做/站长之家工具
  • MySQL的主从复制与读写分离详解
  • 求二叉树中最大的二叉搜索子树的头节点
  • 《人类简史》笔记四—— 想象构建的秩序
  • Java 基础之线程
  • javaScript 进阶之路 --- 《加深理解回调函数》
  • Linux 和 macOS 下 rename 批量重命名文件
  • C#学习记录——在C#中操作注册表
  • [附源码]Python计算机毕业设计SSM晋中学院教室管理系统(程序+LW)
  • 十四、使用 Vue Router 开发单页应用(3)
  • NNDL实验 优化算法3D轨迹 pytorch版
  • JL-19-1 土壤温度速测仪 浅谈工作原理
  • 【免费赠送源码】Springboot拉勾教育课程管理系统y862q计算机毕业设计-课程设计-期末作业-毕设程序代做