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/

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

 
原文地址:https://www.cnblogs.com/libingbin/p/5973492.html