堆栈花园的JSP学习备忘录——EL表达式

一、代码格式
${作用域对象别名.共享数据}
二、EL表达式的作用
  1. EL表达式是EL工具包提供的一种特殊的命令格式。
  2. EL表达式在JSP文件里使用。
  3. 负责在JSP文件上从作用域对象里读取指定的数据,并且输出到响应体中。
三、作用域对象别名
  1. ServletContext【application】:全局作用域对象
  2. HttpSession【session】:会话作用域对象
  3. HttpServletRequest【request】:请求作用域对象
  4. PageContext【pageContext】:当前页作用域对象(JSP文件独有的作用域对象,只能由当前JSP文件中使用,不能被其他Servlet或者其他JSP文件使用。)
四、EL表达式提供的作用域对象别名
JSPEL表达式
application${applicationScope.共享数据名}
session${sessionScope.共享数据名}
request${requestScope.共享数据名}
pageContext${pageScope.共享数据名}
五、EL表达式将引用对象的属性写入到响应体
  1. 代码格式:${作用域对象别名.共享数据名.属性名}
  2. 作用:从作用域对象中读取到指定的共享数据关联的引用对象,并把这个引用对象的属性值写入到响应体中。
  3. 属性名:一定要和引用对象中的属性名完全一致。
  4. EL表达式不能遍历,所以没法从作用域对象中读取集合输出。
六、EL表达式简化
  1. 代码格式:${共享数据名}
  2. 作用:EL表达式允许开发人员省略作用域对象别名。
  3. 如果共享数据名相同,由于没有指定作用域对象,先在pageContext中定位数据,如果没有,再到request中定位数据,如果没有,再到session中定位数据,如果没有,再到application中定位数据,如果还没有,返回null。
  4. 存在的隐患:容易降低程序的执行速度,容易导致数据定位错误。
  5. 使用目的:简化从pageContext中读取数据的过程。
七、EL表达式支持的运算表达式
  • 在JSP文件有时需要将读取共享数据进行运算,然后将运算结果写入到响应体中。
  1. 运算表达式:
  • 数学运算
  • 关系运算:> >= == < <= !=
  • 逻辑运算: && || !
八、EL表达式提供的内置对象
  1. 代码格式:${param.请求参数名}
  2. 作用:从通过请求对象读取当前请求包中请求参数内容,并将请求参数内容写入到响应体中。
<!--
http://localhost:8080/example/index.jsp?username=zhangsan&password=123
-->
姓名:${param.username}<br/>
密码:${param.password}
  1. 代码格式:${paramValues.请求参数名[下标]}
  2. 作用:如果浏览器发送的请求参数是一个请求参数下有多个值,可以用paramValues读取下标指定的值,写入到响应体中。
<!--
http://localhost:8080/example/index.jsp?number=1$number=2$number=3
-->
数字1:${paramValues.number[0]}<br/>
数字2:${paramValues.number[1]}<br/>
数字3:${paramValues.number[2]}<br/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值