• EL表达式


    1.EL表达式
        [1] 简介
            > Expression Language,表达式语言
            > 在JSP2.0以后,在jsp页面中不建议我们使用JSP表达式<%= %>和JSP脚本片段<% %>
            > 使用EL表达式来代替JSP表达式,使用自定义标签来代替JSP脚本片段
            > EL表达式可以将一个对象输出到页面中
     
        [2] 基本语法
            > ${表达式}
            > EL表达式可以将一个域中的属性在页面中输出
            > 全域查找:
                - 语法:${属性名}
                - EL表达式会自动在四个域中按照从小到大的顺序依次查找(page request session application),
                    先找到谁就返回谁,如果没找到它会直接返回空串。
            > 查找指定域中的属性:
                - 语法: ${xxxScope.属性名}
                - EL中为我们提供了四个Scope
                    pageScope
                    requestScope
                    sessionScope
                    applicationScope
                    可以通过这四个scope,来指定要查找属性的域
                - 当域中属性名,有特殊符号时,也可以采用如下方式获取属性
                    ${xxxScope['属性名']}
            > 对象的查询:
                - 我们可以通过EL表达式直接读取一个JavaBean的属性
                - 语法: ${对象.属性名} 比如: ${stu.name}
                - 它并不是直接根据变量的名字去获取属性值,而是根据属性名,去调用对应get方法去获取属性值
                    比如stu.name,则它会调用stu.getName()
                - 如果属性是一个Map,则可以通过${map.key}来获取
                - 如果属性是一个List,则可以通过${list[索引]}来获取
     
        [3] 隐含对象
                > EL中一共有11个隐含对象
                    - pageContext
                        类型:PageContext
                        作用:和JSP中PageContext是一个,可以获取到JSP中的其他隐含对象
                                在EL表达式中并没有为我们提供JSP中的其他隐含对象,只有一个pageContext
                                 如果需要使用其他隐含对象,我们可以直接通过pageContext
     
                    - pageScope
                        类型:Map<String,Object>
                        作用:代表的page域,通过它可以获取page域中属性
     
                    - requestScope
                        类型:Map<String,Object>
                        作用:代表的request域,通过它可以获取request域中属性
     
                    - sessionScope
                        类型:Map<String,Object>
                        作用:代表的session域,通过它可以获取session域中属性
     
                    - applicationScope
                        类型:Map<String,Object>
                        作用:代表的application域,通过它可以获取application域中属性
     
                    - param
                        类型:Map<String,String>
                        作用:代表请求参数的map,通过它可以获取指定的请求参数
     
                    - paramValues
                        类型: Map<String,String[]>
                        作用:代表一个请求参数对的多个值
     
                    - header
                        类型:Map<String,String>
                        作用:可以获取用户发送的请求头
     
                    - headerValues
                        类型: Map<String,String[]>
                        作用:获取一个头对应的多个值
     
                    - initParam
                        类型: Map<String,String>
                        作用:获取当前项目的全局初始化参数
     
                    - cookie
                        类型:Map<String,Cookie>
                        作用:获取用户发送的Cookie的信息   
     
        [4] 运算
            > 在EL表达式中可以使用常见的运算符进行运算
            > 在EL中还有一个比较特殊的运算符 empty
            > empty运算符可以判断一个对象是否为空
                - 当使用empty检查为null的对象时
                    返回true
                - 当使用empty检查一个空串时
                    返回true
                - 当使用empty去检查一个空集合时
                    返回true
            > 语法:${empty 属性名}
     

    转载请注明出处!

    http://www.cnblogs.com/libingbin/

    感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。

     
  • 相关阅读:
    项目打包发布到tomcat中,中文出现乱码
    打war包时无法把src/main/java里的xml文件打包上去
    Activemq和Rabbitmq端口冲突
    博客园皮肤炫酷效果
    centos7 ffmpeg安装
    centos7 nginx开启启动
    磁盘满了,找不到占磁盘的文件或者日志
    turn服务部署
    kvm虚拟机配置被克隆rhel6客户机的网卡
    jenkins自动构建
  • 原文地址:https://www.cnblogs.com/libingbin/p/5973492.html
Copyright © 2020-2023  润新知