JAVAWEB中的EL用法
来源:互联网 发布:日本人茶点的知乎 编辑:程序博客网 时间:2024/05/16 11:44
今天我们来讲一讲Javaweb中的EL的用法。
1.EL
① EL:全名称是Expression Language,即表达式语言。这种语言的特点就是相当于不断的先去调用当前JSP中隐含对象的getXxx(不带参)的方法,再去调用其中属性的getXxx()方法,从而获取最终的属性值。
② 语法是:${隐含对象.属性.属性}。其功能作用相当于Java表达式:<%=User user = (User)session.getAttribute("user") out.print(user)%>,即先从域对象中获取到这个属性值,然后再将其输出到浏览器的页面上。
需要注意的是:有时候属性中会带有特殊字符,如.或者-,此时可以换用间括号的方式:${session["com.liucc"].name}
2. EL存取数据的规则
当我们不写域对象而直接在${}中写属性时,EL的查询规则是按照page->request->session->application范围从小到大一次的从这四个域对象中查找,知道找到则返回,若未找到则返回Null。
3.EL的自动类型转换
通过EL的${}这种形式的获取域对象中的属性,属性的类型可以自动的完成转换,如:${param.name+11}得到一个数字,即EL表达式中从域对象中获得的值完成了自动类型转换;而<%=requset.getParamter("name")+11%>返回的是xxx11,即在Java表达式中获取的域对象中的值变成了字符串。所以,只要通过EL获取的属性一直存在,那么就可以调用其无参的getXxx()方法一直下去,而使用Java表达式因为返回的是字符串类型,那么就无法直接调用getXxx()方法下去,因为还要将获得的字符串进行强转。
4.EL中各种隐含对象的详解
① 与范围有关的隐含对象
pageScope:代表page这个隐含对象,这个page隐含对象是指代当前JSP生成的Servlet的对象。
requestScope:代表request这个隐含对象。
sessionsCope: 代表session这个隐含对象。
applicationScope:代表application这个隐含对象。
需要注意的是:这四个与范围有关的隐含对象仅仅可以读取其中的属性值,而不可以操作,即仅仅可以getAttribute()。
② 与输入参数有关的隐含对象
param:这个隐含对象可以获取请求参数。
paramValues:这个隐含对象可以获取一组请求参数。如:${paramValues.name[0]},需要注意的是EL本身无法完成遍历,需要借助于JSTL才可以。
③ 其他隐含对象
cookie、header、initParam(可以获取当前web.xml中的初始化参数)、
pageContent:这个隐含对象可以获取到许多内容,代表着当前JSP的上下文。如获取contextPath和sessionID等,很重要。因为它除了可以获取域对象中的属性之外,还可以通过他在EL表达式中获取许多其他的内容。
5.EL的运算符
① 算术运算符:加减乘除取余
② 逻辑运算符:且或反
③ 关系运算符:大小判断
④ 其他运算符:if如三目运算符 ()括号可以改变运算的优先级
empty运算符:可以智能的判断集合,若集合不存在或者集合中的元素为空,那么就返回true;反之为false。
90
- JAVAWEB中的EL用法
- JavaWeb -- Jsp中的 EL表达式
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的JSTL与EL表达式用法
- jsp中的EL表达式的用法
- javaweb之EL表达式
- javaweb el表达式
- JavaWeb-EL表达式
- JavaWeb ---- EL学习
- JavaWeb---EL(Expression Language)
- JavaWeb之EL篇
- JavaWeb-EL表达式
- 10019---JavaWeb基础--EL
- Javaweb的el操作
- javaWeb--EL表达式
- flume 1.7 新接口,监控文件内容变化,且监控目录内新增文件变化
- jfinal使用定时任务quartz操作数据库抛出异常:com.alibaba.druid.pool.DataSourceClosedException: dataSource already clo
- 深度图转点云(Xtion/Kinect/OB等)
- 查找
- PLSQL11注册码
- JAVAWEB中的EL用法
- ZBrush 4r7 p3 中文版
- 引用的本质
- Link/Cut Tree(大数)
- SpringBoot学习笔记之mybatis分页插件集成
- 开机广播
- java中的日期类应用
- “SG-UAP中SVN的分支和合并”技术研究验证记录
- SpringBoot学习笔记之动态数据源切换