EL表达式

本文介绍了JSP中的EL表达式,其简化了数据访问过程。EL表达式能够从pageContext、request、session及application中获取数据,并支持指定作用域查找。此外,文章还详细解释了EL表达式的语法、操作符及其在对象操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

  • 目的:为了使jsp中数据访问更加简单
  • 作用域:可以取出域对象(pageContext、request、session、application)中保存的数据,前提需要域对象先 setAttribute(key,value),然后EL表达式相当于替代了getAttribute(key,value)
  • 语法${变量名},变量名是域对象存的数据的key值

规则

  • 只能在jsp页面内使用
  • 默认查找顺序:如果四个域对象中存储了相同的变量名,那么${变量名}默认取出的是最小作用域的域对象的数据(搜索顺序为:pageContext > request > session > application)
  • 指定作用域查找
${pageScope.xxxname} 
${requstScope.xxxname} 
${sessionScope.xxxname} 
${applicationScope.xxxname} 
  • EL表达式可以操作对象,读值赋值
有一个User对象,包括name、id属性,
${User.name}   //相当于调User的get方法得到name,记住这里并不是直接读取变量,而是getName()方法,是和方法绑定而不是成员变量绑定

${User.name=“julian”}  // 相当于调User的set方法赋值name,但实际不会用,EL表达式主要用来读取数据

${User["name"]}  //这样等价于第一种写法,也是可以取出来
  • EL表达式内可以解析操作符

&& || ! < > <= >= == !=,等价于单词and or not lt gt le ge eq ne,使用时单词前后加空格。

可以用单词empty判断变量是否为空(标准:变量为null、字符串长度为0、集合的size为0等)

<%
pageContext.setAttribute("num1", 10);
pageContext.setAttribute("num2", 9);
%>
${num1 > num2}  // 返回true
${num1 gt num2} //等价于上面,返回true
${empty num3}   // 返回true
${not empty num3}   // 返回false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值