zoukankan      html  css  js  c++  java
  • EL表达式的语法介绍及九大隐含对象

    一、 简介

      > JSP表达式 <%= %> 用于向页面中输出一个对象。

      > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段

      > 使用EL表达式来代替JSP表达式 ,使用JSTL标签来代替JSP脚本片段

      > EL表达式用来向页面输出内容,仅仅对四个域起作用,仅仅可以在jsp页面中使用,在html页面中不可以使用!

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

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

    二、 基本语法

      > ${表达式}

      > EL表达式可以从域中获取属性

        - 使用 ${属性名}

        - 如果只填写一个属性名,EL表达式会自动做全域查找。

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

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

        - 例子:

          查找request中属性
            ${requestScope.属性名}

          查找session中的属性
            ${sessionScope.属性名}

        - 注意:EL表达式只能获取域中的属性

        EL表达式不能直接调用对象的方法

        - 通过EL表达式读取对象的属性时,只需要${对象.属性名}

        EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上一个get的方法

        我们只需要将方法名去掉get,并将首字母小写,如getName,只需要写成name,调用其他方法也是如此

        实际上是调用了对应的方法

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

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

    三、 隐含对象

      > EL中一共有11个内置对象。

        - pageContext

          类型 PageContext
          它和JSP中pageContext是一个东西
          作用 可以获取到JSP中其他的隐含对象

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

          例如:可以作为base标签的href属性
            <base href="http://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/" />
              表示设置页面的相对路径前缀为http://localhost:8080/项目名/

        - 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

    四、 运算

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

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

        > 所以empty元素符经常用来判断集合或者字符串是否为空

     

  • 相关阅读:
    opencv目录
    qt5-编译并添加opencv库
    java版gRPC实战之二:服务发布和调用
    java版gRPC实战之一:用proto生成代码
    github搜索技巧小结
    client-go实战之五:DiscoveryClient
    client-go实战之四:dynamicClient
    client-go实战之三:Clientset
    client-go实战之二:RESTClient
    client-go实战之一:准备工作
  • 原文地址:https://www.cnblogs.com/java-zmj/p/7875360.html
Copyright © 2011-2022 走看看