细说EL表达式
【摘要】
文章目录
EL表达式1. 概念:2. 作用:3. 语法:4. 注意:5. 使用:
EL表达式
1. 概念:
Expression Language表达式语言
2. 作...
EL表达式
1. 概念:
Expression Language
表达式语言
2. 作用:
替换和简化jsp页面中java代码的编写
3. 语法:
${表达式}
4. 注意:
- jsp默认支持el表达式的。如果要忽略el表达式
- 设置jsp中page指令中:
isELIgnored="true"
忽略当前jsp页面中所有的el表达式 \${表达式}
:忽略当前这个el表达式
- 设置jsp中page指令中:
5. 使用:
- 运算:
运算符:
- 算数运算符:
+ - * /(div) %(mod)
- 比较运算符:
> < >= <= == !=
- 逻辑运算符:
&&(and) ||(or) !(not)
- 空运算符:
empty
- 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
${empty list}:
判断字符串、集合、数组对象是否为null或者长度为0${not empty str}:
表示判断字符串、集合、数组对象是否不为null 并且 长度>0
<body>
<%
//在域中存储数据
session.setAttribute("name","李四");
request.setAttribute("name","张三");
session.setAttribute("age","23");
request.setAttribute("str","");
%>
<h3>el获取值</h3>
${requestScope.name}
${sessionScope.age}
${sessionScope.haha}
${name}
${sessionScope.name}
</body>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
获取值
- el表达式只能从域对象中获取值
- 语法:
- .
${域名称.键名}
:从指定域中获取指定键的值
域名称:
1. pageScope --> pageContext
2. requestScope --> request
3. sessionScope --> session
4. applicationScope --> application(ServletContext)
- 1
- 2
- 3
- 4
- 举例:在request域中存储了name=张三
- 获取:
${requestScope.name}
- .
${键名}
:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
获取对象、List集合、Map集合的值
-
对象:
${域名称.键名.属性名}
- 本质上会去调用对象的getter方法
-
List集合:
${域名称.键名[索引]}
-
Map集合:
${域名称.键名.key名称}
${域名称.键名["key名称"]}
<body>
<%
User user = new User();
user.setName("张三");
user.setAge(23);
user.setBirthday(new Date());
request.setAttribute("u",user);
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add(user);
request.setAttribute("list",list);
Map map = new HashMap();
map.put("sname","李四");
map.put("gender","男");
map.put("user",user);
request.setAttribute("map",map);
%>
<h3>el获取对象中的值</h3>
${requestScope.u}<br>
<%--
* 通过的是对象的属性来获取
* setter或getter方法,去掉set或get,在将剩余部分,首字母变为小写。
* setName --> Name --> name
--%>
${requestScope.u.name}<br>
${u.age}<br>
${u.birthday}<br>
${u.birthday.month}<br>
${u.birStr}<br>
<h3>el获取List值</h3>
${list}<br>
${list[0]}<br>
${list[1]}<br>
${list[10]}<br>
${list[2].name}
<h3>el获取Map值</h3>
${map.gender}<br>
${map["gender"]}<br>
${map.user.name}
</body>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 隐式对象:
- el表达式中有11个隐式对象
- pageContext:获取jsp其他八个内置对象
${pageContext.request.contextPath}
:动态获取虚拟目录
文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。
原文链接:hiszm.blog.csdn.net/article/details/109606486
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)