el 能否定义作用域变量_EL表达式语法简介及其使用

文章目录

    • EL是什么?
    • 为什么使用EL?
    • EL示例
    • EL操作符
    • EL的关系运算符和逻辑运算符
    • EL表达式的隐式对象(不需要new就能使用的对象, 自带的对象)

EL是什么?

Expression Language ,可以替代JSP贝面中的JAVA代码。

为什么使用EL?

传统的在JSP中用java代码显示数据有一些弊端他们使得代码更加复杂,比如: 类型转换、 需要处理null、代码参杂 ,EL可以很好的解决这些问题。

EL示例

$ {域对象.域对象中的属性.属性.属性.级联属性]

$ {requestScope.student.address.schoolAddress}

EL操作符

点操作符. :使用方便

中括号操作符[ ]:功能强大:可以包含特殊字符(. 、-) , 可以访问数据、获取数组元素、获取变量值,例如存在变量name,则可以$ {requestScope [name]}

需要注意的是,如果使用中括号操作符里面的值不是变量值,则需要加单引号或者双引号。

EL的关系运算符和逻辑运算符

c4c647683e893c1007850fc72e263a73.png

值得说一下的是Empty运算符

判断一个值如果为null或者不存在则返回true,否则返回fales

举个例子,假设我们定义了name的值为a,没有定义age的值,且定义了number的值为null,那么以下代码的输出结果则为false、true、true

${ empty requestScope[ " name"] } 
不存在的值: ${ empty requestScope["age"] }、
${ empty requestScope . number}

EL表达式的隐式对象(不需要new就能使用的对象, 自带的对象)

  • 作用域访问对象(EL域对象) :

1.pageScope 2.requestScope

3.sessionScope 4.applicationScope

//假设前面定义了一个sessionKey,那么通过以下方式取值${sessionScope.sessionKey}

如果sessionKey不指定域对象,则默认会根据从1到4的顺序依次取值

  • 参数访问对象

用于获取表单数据

以前JSP获取表单数据是这样子拿的

 (request. getParameter ()、request. getParameterValues() )

EL这样子拿

$ {param} 、$ {paramValues}
  • JSP隐式对象:pageContext

在jsp中可以通过pageContext.获取其他的jsp隐式对象;

通常我们获取Session对象是这样获取

$ {pageContext. getSession()}

但在EL里面,可以把get和括号去掉,然后首字母变小写,就可以拿到Session对象,其他对象也一样。

 $ {pageContext. session}

同样,可以使用此方法级联获取其他方法

$ ipageContext.request.serverPort}

今天的分享就到这里,希望对大家有所帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值