• Servlet------EL表达式


    EL表达式是: 

        Expression Language。一种写法非常简介的表达式。语法简单易懂,便于使用。。获取作用域的数据。。。。

    对比: 传统方式获取作用域数据:    
                  缺点一:导入包
                  缺点二:需要强转
                  缺点三:获取数据的代码过于麻烦

    功能:    1、使用EL表达式获取请求数据
                2、使用EL表达式获取作用域数据
                3、使用EL表达式进行运算
                4、EL表达式空值判断empty

    作用:    获取作用域对象中的数据
          注意:获取的是pageContext、request、session、application四个对象中的数据,其他数据一概不理会
                    找到了则返回,找不到则什么都不做,也不报错

     语法:
                    ${表达式}
                    表达式:   

    1、                    获取请求数据
                              request对象存储了请求数据------>param.键名
                              request对象存储了请求数据------>paramvalues.键名    返回的是数组
                        通过setAttribute方法存储到作用域对象中的数据
                              ${键名}        返回键名所对应的值
                              注意:
                                  如果是存储的是普通字符串,则直接返回
                                  如果是存储的是对象,则返回的是对象
                                          获取对象中的数据
                                                  普通对象
                                                      ${键名.属性名.属性名...}
                                                   集合对象
                                                       list集合------>${键名[角标]}
                                                       map集合------->${键名.map集合存储的键名}

    2、 在作用域中的查找顺序:

         默认查找顺序: pageContext  -----> request  -------> session  --------->  application

         注意:

            每次查找都是从小到大进行查找,找到了则获取,不再继续找了。。。

         自定义查找顺序:

               ${requestScopt . 键名} ${pageScopt . 键名}  ${sessionScopt . 键名}   ${application . 键名}


    3、使用EL表达式进行运算:

        ${逻辑表达式}  &&、||、!

        ${算术表达式}  +,-,*,/

        ${算术表达式}  >、<、==、!=

         特殊:三目运算

          注意:   + 表示加法运算,不表示字符连接。使用EL表达式进行字符连接会报错。。。。

         ${4-2}  ${4>2}  ${1==1?'男':'女'}   ${sex==1?'男':'女'}  ${1+"2"} =3 EL表达式不做连接,只进行运算

     

    4、EL的空值判断:  
        ${empty  键名}
                 作用:

          判断键名对象的值是否存有数据。

    5、EL获取请求头数据和Cookie数据

        请求头数据:

            ${header}  -------> 返回所有的请求头数据

            ${header["键名"]} ------>返回指定的键名的请求头数据

            ${headerValues["键名"]}  ------->  返回指定的键名(同键不同值)的值的数组。。

        获取Cookie数据:

            ${cookie}  -----> 返回存储了所有的cookie对象的map集合

            ${cookie}  ------>返回指定的cookie对象

            ${cookie.键名.name}  ------> 返回指定的cookie对象存储的数据的键名

            ${cookie.键名.value}  -------> 返回指定的cookie对象存储的数据的值

    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    linux下遍历目录
    C++忽略字符大小写比较
    apue.h文件找不到的解决办法
    使用Django框架
    输出程序运行的时间(精确到微秒)
    好玩的代码(1)
    在日志文件中输出当前时间
    windows下安装storm1.1.0并启动
    eclipse配置hadoop2.7.2开发环境并本地跑起来
    windows下安装并启动hadoop2.7.2
  • 原文地址:https://www.cnblogs.com/axu521/p/10022452.html
Copyright © 2020-2023  润新知