EL表达式---关系运算符
近来公司做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表达式---关系运算符的更多相关文章
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- [转]JSP中EL表达式三元运算符的使用
原文地址:http://www.guance.com/469.html Java中的三元运算符为:条件?条件为true值:条件为false的值EL也有一样的运算符,用EL的三元运算符有时可以代替c:c ...
- EL表达式运算符使用
EL表达式关系运算符的使用 == eq 等于 != ne 不等于 > gt 大于 < lt 小于 >= ge 大于等于 <= le 小于等于 举例说明 > 或者 gt, ...
- EL表达式中的“+-x/”四种运算符和条件,比较运算符等
<%@page import="cn.hncu.domain.User"%><%@ page language="java" import=& ...
- Javaweb之EL表达式
1.EL表达式简介 EL全名为Expression Language.EL的主要作用为: 获取数据:EL表达式主要用于替换jsp页面中的脚本表达式,以从各种类型的web域中检索java对象,获取数据. ...
- EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统
EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...
- Java Web程序设计笔记 • 【第9章 EL表达式】
全部章节 >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...
- EL表达式详解(常用表达式以及取值)
EL表达式 学习总结 一. El表达式概念 二. El中的表达式 1. 算术表达式 2. 比较表达式 3. 逻辑表达式 4. 三元表达式 5. 判空表达式 三.EL 从四个作用域中取值 1. 概念 2 ...
随机推荐
- C++中Const说明
最近在看程序员面试宝典,看到const这块感觉有很大疑惑,查了很多资料,可以总结如下: 1.在C语言中 在C语言中,const修饰的变量不具有常量的特性,只是一个不可修改的变量,实质上仍然是变量,在编 ...
- NOIP2006 2k进制数
2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换 ...
- DIY 博客全文界面的推荐、反对、加关注、返回顶部、快速评论等小功能的集成
博客园已经很不错了,但作为比较“挑剔”的用户,在使用的过程中,还是有一些地方不爽的. 我不是一个专业的前台程序员,也只能凭借自己蹩脚的JS和CSS知识完成对页面的小改造(专业的大虾莫要鄙视呀..). ...
- vs2013下git的使用
一.将VS2013项目托管到Git 现在的开源项目越来越多,我们会注意到这些开源项目大多共享在GitHub上面,包括微软开源的项目也在Github上,当然,如果你用过Git后,会发现Git确实不错,其 ...
- android NDK 实用学习(四)-类缓存
1,为什么需要类缓存: 答:由于频繁的查找类及类成员变量需要很大的时间与空间开销,可参考如下文章: http://www.ibm.com/developerworks/cn/java/j-jni/ h ...
- JNI: Passing multiple parameters in the function signature for GetMethodID
http://stackoverflow.com/questions/7940484/jni-passing-multiple-parameters-in-the-function-signature ...
- 基于memcached的单机轻量级通用缓存库minicached的实现
一.前言 之前拜读过淘宝子柳的<淘宝技术这十年>之大作,深知缓存技术在系统优化中起着一个举足轻重的作用.无论是文件系统静态文件,数据库的访问,乃至网络数据的请求,只要是与内存访问速度相差较 ...
- light oj 1138
Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit Status Pract ...
- SOD-80 LL34 DL-35 (2.7~75V)贴片稳压二极管【worldsing 笔记
¨ Silicon Planar Zener Diodes ¨ In Mini-MELF case especially for automatic insertion. ¨ The Zener vo ...
- iOS多线程拾贝------操作巨人编程
iOS多线程拾贝------操作巨人编程 多线程 基本 实现方案:pthread - NSThread - GCD - NSOperation Pthread 多平台,可移植 c语言,要程序员管理生命 ...