首页 > Spring MVC
JSP EL表达式的基本语法及运算符(超详细)
EL 是 JSP 2.0 规范中新增加的,它的基本语法如下:
当 isELIgnored 属性值为 false 时,JSP 页面可以使用 EL 表达式,当 isELIgnored 属性值为 true 时,JSP 页面不能使用 EL 表达式。isELIgnored 属性值默认为 false。
EL 的语法简单、使用方便,它以
对于 null 值直接以空字符串显示,而不是 null,在运算时也不会发生错误或空指针异常,所以在使用 EL 访问对象的属性时不需要判断对象是否为 null 对象,这样就为编写程序提供了方便。
${表达式}
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,代码如下:${user.age}
或${user["age"]}
其中,点运算符前面为 JavaBean 的对象 user,后面为该对象的属性 age,表示利用 user 对象的 getAge 方法取值并显示在网页上。2)获取数组中的元素
假设在 Controller 或 Servlet 中有这样一段话:
String dogs[] = {"lili","huahua","guoguo"};
request.setAttribute("array",dogs);
${array[0]}
${array[1]}
${array[2]}
3)获取集合对象中的元素
假设在 Controller 或 Servlet 中有这样一段话:ArrayList<UserBean> users = new ArrayList<UserBean>(); UserBean ub1 = new UserBean("zhang",20); UserBean ub2 = new UserBean("zhao",50); users.add(ub1); users.add(ub2); request.setAttribute("array",users);其中,UserBean 有两个属性 name 和 age,那么在对应视图 JSP 页面中可以使用 EL 取出 UserBean 中的属性,代码如下:
${array[0].name} ${array[0].age}
${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 并返回其结果。所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算