EL表达式语法简介

文章目录

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

EL是什么?

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

为什么使用EL?

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

EL示例

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

$ {
     requestScope.student.address.schoolAddress}

EL操作符

点操作符. :使用方便
中括号操作符[ ]:功能强大:可以包含特殊字符(. 、-) , 可以访问数据、获取数组元素、获取变量值,例如存在变量name,则可以$ {requestScope [name]}
需要注意的是,如果使用中括号操作符里面的值不是变量值,则需要加单引号或者双引号

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

EL表达式语法简介_第1张图片

值得说一下的是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}

你可能感兴趣的:(jsp,java)