EL表达式

1.EL表达式
[1] 简介

JSP表达式 <%= %> 用于向页面中输出一个对象。
到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段。
使用EL表达式来代替JSP表达式 ,使用JSTL标签来代替JSP脚本片段。

    > EL表达式用来向页面输出内容

    getAttribute();//四个域对象都可以使用//作用不是接收请求参数,在使用getAttribute方法之前必须先使用setAttribute()将属性对方法域对象中;返回Object类型!

    getParameter()://仅仅是request使用!用于接收请求参数【url,form表单中】;返回值String类型


[2] 基本语法
    > ${表达式}


    > EL表达式可以从域中获取属性。
         - 使用 ${属性名}
         - 如果只填写一个属性名,EL表达式会自动做全域查找。

         - 所谓的全域查找,就是按照page request session  application四个域范围内分别,找到就返回属性,如果没找到什么都不返还。 

         - 我们还可以指定去哪个域查找
            pageScope
            requestScope
            sessionScope
            applicationScope

        - 例子:
            查找request中属性
                ${requestScope.属性名}
            查找session中的属性
                ${sessionScope.属性名}

        - 注意:EL表达式只能获取域中的属性
            EL表达式不能直接调用对象的方法

        - 通过EL表达式读取对象的属性时,只需要${对象.属性名}
            EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上一个get

            注意:只要有属性,就可以一直点下去,也就说对象的属性是对象的话,我们也可以通过对象的属性的属性的方式调用!

        - 当读取一些名字比较特殊的属性时,这种特殊值必须要指定域,例如属性名带-:
            ${requestScope['属性名']}



[3] 隐含对象
        > EL中一共有11个内置对象。
            - pageContext
                类型 PageContext
                    它和JSP中pageContext是一个东西
                作用 可以获取到JSP中其他的隐含对象

                例如:可以获取项目名:
                    ${pageContext.request.contextPath }


            - pageScope
                类型:Map<String,Object>
                代表:page域中的属性
                作用:可以获取到page域中的属性

            - requestScope
                类型:Map<String,Object>
                代表:request域中的属性
                作用:可以获取到request域中的属性

            - sessionScope
                类型:Map<String,Object>
                代表:session域中的属性
                作用:可以获取到session域中的属性

            - applicatScope
                类型:Map<String,Object>
                代表:application域中的属性
                作用:可以获取到application域中的属性


            - param
                类型: Map<String , String>
                代表:用户发送的请求参数
                作用:可以获取请求参数 
                用法: ${param.参数名}

            - paramValues
                类型:Map<String , String[]>
                代表:一个请求参数对应的多个值
                用法: ${paramValues.参数名[索引]}

            - header
                作用:可以获取到用户发送的请求头
                类型:Map<String , String>
                例如:获取用户的系统信息 ${header['User-Agent']}

        ?   - headerValues
                类型: Map<String , String[]>
                作用:可以获取一个头的多个值

        ?   - initParam;
                类型:Map<String , String>
                作用:获取整个WEB应用的初始化参数

        ?   - cookie
                类型:Map<String , Cookie>
                作用:用来获取Cookie



[4] 运算
    > 在EL中可以直接使用运算符进行运算。

    > 在EL中可以使用Empty元素符:
        如果值为null , empty则返回 true
        如果为空串, 则返回 true
        空的集合    返回true

    > 所以empty元素符经常用来判断集合或者字符串是否为空
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值