您当前的位置: 首页 > 

white camel

暂无认证

  • 2浏览

    0关注

    442博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

EL——表达式概述、运算、内置对象

white camel 发布时间:2020-02-08 17:05:06 ,浏览量:2

目录
  • EL表达式概述
  • EL表达式的格式和作用
  • EL表达式的运算
  • EL的内置对象
  • EL重点
EL概述

跳转到目录 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中输 出脚本的编写。

EL表达式的格式和作用

跳转到目录

  • EL表达式的格式:${EL表达式内容} 相当于 ${} 替代
  • EL表达式的作用:
    1. 从域对象中查找指定的数据。
    2. 内置对象使用
    3. 执行运算符

一、从域对象中查找指定的数据 EL中提供 域对象对应的对象

域对象EL中对应的对象pageContextpageScoperequestrequestScopesessionsessionScopeapplicationapplicationScope
  • 使用格式 ${xxxScope.keyName} ${xxxScope["keyName"]} 简化格式: ${keyName} 如果keyName都相同,依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后 将不在向后寻找.

  • EL获得普通数据 ${域名称.键名}



        
        
        
        

        


        ${applicationScope.DATA_IN_APP}
        ${sessionScope.DATA_IN_SESSION}
        ${requestScope.DATA_IN_REQUEST}
        
        ${applicationScope["DATA_IN_APP"]}
        ${sessionScope["DATA_IN_SESSION"]}
        ${requestScope["DATA_IN_REQUEST"]}


        
        ${DATA_IN_APP}
        ${DATA_IN_SESSION}
        ${DATA_IN_REQUEST}


  • EL获取JavaBean对象 ${域名称.键名.属性名}

    
    
    
    ${USER_IN_REQUEST}
    
    
    ${USER_IN_REQUEST.name}
    
    ${USER_IN_REQUEST.pwd}

  • EL获取List集合对象

    ${域名称.键名[索引]}


    
    
    
    ${list}
    
    
    ${list[0]}
    ${list[1]}
    ${list[2]}

  • EL获取Map集合对象

    ${域名称.键名.key名称} ${域名称.键名["key名称"]}


    
    
    
    ${mapBean}
    
    
    ${mapBean.u1}
    ${mapBean.u2}
    ${mapBean.u3}
    ${mapBean.u4}
    
    ${mapBean.u1.name}-----${mapBean.u1.pwd}
    ${mapBean['u1'].name}-----${mapBean['u1'].pwd}
    ${mapBean.u3.name}-----${mapBean.u3.pwd}
    ${mapBean.u4.name}-----${mapBean.u4.pwd}


EL表达式的运算

跳转到目录 语法:${ 运算表达式 } , EL 表达式支持如下运算符:

  • 关系运算
关系运算符说 明范 例结 果== 或 eq等于${ 5 == 5 } 或 ${ 5 eq 5 }true!= 或 ne不等于${ 5 !=5 } 或 ${ 5 ne 5 }false< 或 lt小于${ 3 < 5 } 或 ${ 3 lt 5 }true> 或 gt大于${ 2 > 10 } 或 ${ 2 gt 10 }false= 5 } 或 ${ 3 ge 5 }false
  • 逻辑运算
逻辑运算符说 明范 例结 果&& 或 and与运算${ 12 == 12 && 12 < 11 } 或 ${ 12 == 12 and 12 < 11 }falsell 或 or或运算${ 12 == 12 ll 12 < 11 } 或 ${ 12 == 12 or 12 < 11 }true! 或 not取反运算${ !true } 或 ${not true }false
  • 算术运算
算术运算符说 明范 例结 果+加法${ 12 + 18 }30-减法${ 18 - 8 }10*乘法${ 12 * 12 }144/ 或div除法${ 144 / 12 } 或 ${ 144 div 12 }12% 或mod取模${ 144 % 10 } 或 ${ 144 mod 10 }4
  • empoy运算符 empty运算是判断一个对象或者集合是否为空。返回boolean值。 对象为null时,返回true 如果是空的字符串,返回true 如果是空的Object数组(Object数组.length == 0),返回true 空的集合,返回true 空的map,返回true
EL的内置对象

跳转到目录

  • 获取JSP中域中的数据(pageContext,pageScope,requestScope,sessionScope,applicationScope)
  • 在Servlet中获得web应用的名称:request.getContextPath();
  • 在jsp页面上获得web应用虚拟目录()的名称:${pageContext.request.contextPath}
EL表达式重点

跳转到目录 问题1:EL表达式搜索四个域对象的顺序?

问题2:如何获取一个对象中的数组元素?

问题3:如何获取一个对象中的map中的元素?

问题4:.运算和【】运算有哪些相同和不同?

问题5:pageScope,requestScope sessionScope applicationScope param分别表示什么?

关注
打赏
1661428283
查看更多评论
立即登录/注册

微信扫码登录

0.0369s