JavaWeb学习篇之EL表达式
来源:互联网 发布:围棋软件知乎 编辑:程序博客网 时间:2024/05/21 18:39
今天主要讲的是EL表达式,它的出现替代了JSP表达式(<%= %>)。两者的作用基本相同,只不过EL表达式用起来会相对更加方便。
基本使用方法:${表达式}
使用EL表达式可以直接获取域中的值。补充一下,主要有四大域空间(pageScope,requestScope,sessionScope,applicationScope)。在EL表达式中可以直接指定键值,就可以获取相应的关联值。
1、EL表达式获取普通值
例如:pageContext.setAttribute("score",100); 可以使用${score}获取100这个值。提起注意:1)在EL表达式中如果不指定域空间的话会全域去寻找,顺序为:pageScope--requestScope--sessionScope--applicationScope 找到最想匹配的键值,返回其关联值。当然我们也可以指定所要寻找的域空间,比如要在域空间requestScope中寻找,可以写成${requestScope.score}。
2、EL表达式获取对象
我们用EL表达式不仅可以获取域中的普通值,还可以把域中的对象获取出来。例如:User user=new User("张三"); pageContext.setAttribute("user",user); 可以使用${user}获取这个对象。不仅如此,我们还可以在EL表达式中获取相关方法。如:在User类中属性name,有方法getName(),这是我们可以这样来调用这个方法${user.name},它会在user对象中调用getName()方法。(注意,对象.xx会自动寻找匹配getXx()方法,get后首字母大写)。虽然有的书籍上说EL表达式中获得对象不可以直接调用方法,但经过小编测试发现其实可以调用方法的如${user.getName()},这个可以正常使用
有时如:pageContext.setAttribute("score-team",100);
这时再用${score-team}会显示无法获取(因为多了一个-的缘故)。其实还有另外一中使用方法${pageScope['score-team']},这样就可以解决问题
3、El中常用的一些隐藏对象(只是一些常用的,并不是所有的)
- pageContext
类型 PageContext
它和JSP中pageContext是一个东西
作用 可以获取到JSP中其他的隐含对象
例如:可以获取项目名:
${pageContext.request.contextPath }
- pageScope
类型:Map<String,Object>
代表:page域中的属性
作用:可以获取到page域中的属性
- requestScope
类型:Map<String,Object>
代表:request域中的属性
作用:可以获取到request域中的属性
- sessionScope
类型:Map<String,Object>
代表:session域中的属性
作用:可以获取到session域中的属性
- applicatScope
类型:Map<String,Object>
代表:application域中的属性
作用:可以获取到application域中的属性
- param
类型: Map<String , String>
代表:用户发送的请求参数
作用:可以获取请求参数
用法: ${param.参数名}
注意:一般为接受页面链接或者表单发过来的参数
- paramValues
类型:Map<String , String[]>
代表:一个请求参数对应的多个值
用法: ${paramValues.参数名[索引]}
注意:和param用法类似,更多用在复选框参数的接收,返回 值是一个字符串数组
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
- JavaWeb学习篇之----EL表达式详解
- JavaWeb学习篇之----EL表达式详解
- JavaWeb学习篇之EL表达式
- Java学习笔记之JavaWeb-EL表达式
- javaweb之EL表达式
- JavaWeb之El表达式
- Javaweb之EL表达式
- JavaWeb之EL表达式
- JavaWeb之EL表达式
- JavaWeb学习总结---EL表达式
- JavaWeb(EL表达式学习笔记)
- javaWeb之表达式语言EL
- javaweb开发之EL表达式
- JavaWeb学习心得之EL表达式
- JavaWeb之EL篇
- JavaWeb学习十(JavaBean和EL表达式)
- javaWEB-动态网页之el表达式
- javaweb之常用的EL表达式
- 进制转换
- jq判断scroll是否到底部
- unity profiler深入学习6:rendering profiler
- kmp字符串匹配
- 类的初始化顺序
- JavaWeb学习篇之EL表达式
- URAL
- 字符串中数字子串的求和
- easystruts-1.0.2增加拦截器抽象类,Session处理
- MySQL中utf8和utf8mb4的区别
- python 报错Microsoft Visual C++ 14.0 is required
- 今天开始重新学习算法
- Mysql 修改用户密码
- Kotlin编程之三