近来公司做html5页面的数据展现,发现集中使用了El表达式,而对于EL表达式,发现自己对于关系运算符的运用还存在很多不足,特此 查阅以前的书籍资料和从网上看一些大牛的笔记,总结如下:

  首先El关系运算符有以下六个运算符:

关系运算符

说明

范例

结果

== 或 eq

判断符号两边是否相等,相等返回

true,否则返回false

${ 5 == 5 } 或 ${ 5 eq 5 }

true

!= 或 ne

判断符号两边是否不相等,不相等返回

true,否则返回false

${ 5 != 5 } 或 ${ 5 ne 5 }

false

< 或 lt

判断符号左边是否小于右边,如果小于返回true,否则返回false

${ 3 < 5 }或 ${ 3 lt 5 }

true

> 或 gt

判断符号左边是否小于右边,如果小于返回true,否则返回false

${ 3 > 5 }或 ${ 3 gt 5 }

false

<= 或 le

判断符号左边是否小于或者等于右边,如果小于或者等于返回true,否则返回false

${ 3 <= 5 }或 ${ 3 le 5 }

true

>= 或 ge

判断符号左边是否大于或者等于右边,如果大于或者等于返回true,否则返回false

${ 3 >= 5 }或 ${ 3 ge 5 }

false

在使用过El表达式的人,都知道我们去取一个参数值的时候,通常都是以${param.name1}这种形式,但是我们在判断的时候,不能以

${param.name1} = = ${param.name2}这种形式,或者 ${ ${param.name1} = = ${ param.name2} };

而我们应该写成 ${ param.name1 = = param.name2}。

  然我们在使用El表达式的关系运算符的时候,还应该了解如下规则:

(1)  A {<, >, <=, >=, lt, gt, le, ge} B

    假若 A == B的话,运算符为<=, le, >=, ge 时,返回的应该是true,否则返回false,

    假若 A 为null 或者 B 也 为null 时,表达式将返回 false,

  假若A或B为BigDecimal时,将另一个转为BigDecimal,然后返回 A.compareTo(B) 的值,

    假若 A 或B 为Float、Double 时,先把A和B都转为Double 类型,然后再根据与运算符进行运算,

    假若A 或B为Byte、Short、Character、Integer或Long时,皆转为Long 类型,然后再根据运算符进行运算,

    假若 A 或B 为String 时,将另一个也转为String,然后做词汇上的比较。 

(1)  A {==, !=, eq, ne} B

    假若 A == B,根据它的运算符运算,

  假若 A 为null 或B 为null 时:== /eq 则返回 false,!= / ne 则返回 true ,

  假若 A 或B 为BigDecimal 时,将另一个转为BigDecimal,则:

    假若运算符为 == / eq,则返回A.equals(B)

    假若运算符为 != / ne,则返回 !A.equals(B)

   假若 A 或B 为Float、Double 时,皆A和B都转为Double 类型,然后再根据与运算符进行运算,

  假若A 或B为Byte、Short、Character、Integer 或Long时,皆转为Long 类型,然后依其运算符运算

  假若 A 或B 为Boolean 时,将另一个也转为Boolean,然后依其运算符运算

  假若 A 或B 为String 时,将另一个也转为String,然后做词汇上的比较

    否则,假若A.equals(B)产生异常时,则错误!

   否则,然后依其运算符运算,回传A.equals(B)

   最后,我们在实际开发中,可能没有体会的这么仔细,但真正在判断两个值的关系时,我们需要知道为什么会返回这样的结果!以此总结,勉励自己;有不足之处,还望大神不吝赐教!

EL表达式---关系运算符的更多相关文章

  1. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

  2. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

  3. [转]JSP中EL表达式三元运算符的使用

    原文地址:http://www.guance.com/469.html Java中的三元运算符为:条件?条件为true值:条件为false的值EL也有一样的运算符,用EL的三元运算符有时可以代替c:c ...

  4. EL表达式运算符使用

    EL表达式关系运算符的使用 == eq 等于 != ne 不等于 > gt 大于 < lt 小于 >= ge 大于等于 <= le 小于等于 举例说明 > 或者 gt, ...

  5. EL表达式中的“+-x/”四种运算符和条件,比较运算符等

    <%@page import="cn.hncu.domain.User"%><%@ page language="java" import=& ...

  6. Javaweb之EL表达式

    1.EL表达式简介 EL全名为Expression Language.EL的主要作用为: 获取数据:EL表达式主要用于替换jsp页面中的脚本表达式,以从各种类型的web域中检索java对象,获取数据. ...

  7. EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统

    EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...

  8. Java Web程序设计笔记 • 【第9章 EL表达式】

    全部章节   >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...

  9. EL表达式详解(常用表达式以及取值)

    EL表达式 学习总结 一. El表达式概念 二. El中的表达式 1. 算术表达式 2. 比较表达式 3. 逻辑表达式 4. 三元表达式 5. 判空表达式 三.EL 从四个作用域中取值 1. 概念 2 ...

随机推荐

  1. Eclipse(非J2EE版本)配置Extjs环境以及安装部署Tomcat

    Eclipse(非J2EE版本)配置Extjs环境(Spket) 1. 安装spket插件,帮助->安装新软件->http://www.agpad.com/update. 2. 设置Spk ...

  2. MFC中Listbox控件的简单使用

    MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_M ...

  3. [原创]git使用入门

    创建git项目并初始化 建立一个新文件夹,然后将该文件夹定义为git项目 Lilis-MacBook-Pro:GitDir lili$ mkdir testgit Lilis-MacBook-Pro: ...

  4. 【openstack报错】【metadata问题】‘http://169.254.169.254/2009-04-04/meta-data/instance-id’ failed : url error [[Errno 111] Connection refused]

    [时间]2014年2月25日 [平台]ubuntu 12.04.3 openstack havana  with nova-network in multi-host [日志]实例启动时输出的日志内容 ...

  5. JDBC 的基本步骤

    JDBC 的基本步骤: 一.导入mysql-connector-java-x.x.x-bin.jar后: 二.代码 1. 注册驱动(三种方式)2. 创建一个连接对象(三种方式) 3. 创建一个sql语 ...

  6. TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  7. 简单OS(ucos超级精简版)——裸调度器【worldsing笔记】

    简单原则少ROM,少RAM,任务完成就让出CPU,调度器描述: 1.按最大任务数轮番调度: 2.任务调用延时接口将让出CPU使用权,进入下一个任务调度: 3.用户任务都处于延时或是不使用CPU运行Id ...

  8. (一)Bootstrap简介

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. Bootstrap优点: 移动设备优先:自 Boot ...

  9. cocos2d-x 判断系统语言

    转自:http://blog.csdn.net/tangaowen/article/details/8878193 //default language is local language ccLan ...

  10. Sql Server问题集锦

    Sql数据库默认实例和命名实例的区别: 1.服务中服务名称的区别: 默认实例:MSSQLSERVER; 命名实例:实列名为:benet,在服务中的名称是:MSSQL$BENET;   注:如果你有多个 ...