EL表达式的概述
--------------------------------EL表达式的概述------------------------------------
EL概述
1 什么是EL
EL(Expression Language)是一门表达式语言,它对应<%=…%>。我们知道在JSP中,表达式会被输出,所以EL表达式也会被输出。
EL表达式的格式:${…},例如:${1+2}。
在使用EL表达式时,要求page指令的isELIgnored属性为false。这样JSP在编译成.java时,才不会忽略EL表达式。
如果你希望某个EL表达式被JSP编译器忽略,那么可以在EL表达式之前添加“\”,例如:\${1+2}。
3 EL操作操作对象的方式
- 操作变量和常量:${name}、${8};
- 操作List和数组:${list[0]}、${arr[0]};
- 操作bean的属性:${person.name}、${person[‘name’]},对应person.getName()方法;
- 操作Map的值:${map.key}、${map[‘key’]},对应map.get(key)。
4 EL运算符
运算符 |
说明 |
范例 |
结果 |
+ |
加 |
${17+5} |
22 |
- |
减 |
${17-5} |
12 |
* |
乘 |
${17*5} |
85 |
/或div |
除 |
${17/5}或${17 div 5} |
3 |
%或mod |
取余 |
${17%5}或${17 mod 5} |
2 |
==或eq |
等于 |
${5==5}或${5 eq 5} |
true |
!=或ne |
不等于 |
${5!=5}或${5 ne 5} |
false |
<或lt |
小于 |
${3<5}或${3 lt 5} |
true |
>或gt |
大于 |
${3>5}或${3 gt 5} |
false |
<=或le |
小于等于 |
${3<=5}或${3 le 5} |
true |
>=或ge |
大于等于 |
${3>=5}或${3 ge 5} |
false |
&&或and |
并且 |
${true&&false}或${true and false} |
false |
!或not |
非 |
${!true}或${not true} |
false |
||或or |
或者 |
${true||false}或${true or false} |
true |
empty |
是否为空 |
${empty “”},可以判断字符串、数组、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty “”} |
true |
El.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>EL表达式运算</h1> <label>常量输出:</label>${10 }<br> <%-- ${10/2 }会有小数位,除法还可以使用${10 div 2} --%> <label>四则运算:</label>${10+2 },${10-2 },${10*2 },${10/3 },${10 div 3}<br> <label>等于判断:</label>${10==10} ,${10 eq 10 }<br> <label>不等于判断:</label>${10 != 2} ,${10 ne 2 }<br> <label>取余:</label>${10%3 } ,${10 mod 3 }<br> <label>小余:</label>${1 < 3 } ,${1 lt 3 }<br> <label>小余等于:</label>${1 <= 3 } ,${1 le 3 }<br> <label>大余:</label>${10 > 3 } ,${10 gt 3 }<br> <label>大余等于:</label>${10 >= 3 } ,${10 ge 3 }<br> <label>逻辑与:</label>${true && true } ,${true and true }<br> <label>逻辑或:</label>${true || false } ,${true or false }<br> <label>逻辑非:</label>${ !false } ,${not false }<br> <label>判空:</label>${empty ""} <br> <label>非空判断:</label>${not empty "adfa"},${!empty "aaa" } <br> </body> </html> |