• JavaWeb:EL表达式


    说明

      1.Expression Language语言,一种用于JSP文件中的数据访问的语言。
      2.能够简化JSP文件中该数据访问的代码,可用来替代传统的基于<%= %>和部分<% %>的程序片段。
      3.EL表达式使得JSP文件的创建人员能够用更加简单的语法来访问数据。
      4.基本形式为: ${var}

    EL运算符 (来自孤傲苍狼)

      1、关系运算符  

      

      2、逻辑运算符:

      

      3、empty运算符:检查对象是否为null(空)

      4、二元表达式:${user!=null?user.name :""}

    关于隐含对象

      EL语言中定义了11个隐含对象,它们都是java.util.Map类型,网页制作者可以方便来快捷地访问Web应用中的特定数据。

       
    序号 隐含对象名称 描       述
    1 pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
    2 pageScope 代表page域中用于保存属性的Map对象
    3 requestScope 代表request域中用于保存属性的Map对象
    4 sessionScope 代表session域中用于保存属性的Map对象
    5 applicationScope 代表application域中用于保存属性的Map对象
    6 param 表示一个保存了所有请求参数的Map对象
    7 paramValues 表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
    8 header 表示一个保存了所有http请求头字段的Map对象,注意:如果头里面有“-” ,例Accept-Encoding,则要header[“Accept-Encoding”]
    9 headerValues 表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
    10 cookie 表示一个保存了所有cookie的Map对象
    11 initParam 表示一个保存了所有web应用初始化参数的map对象


      说明
      这11个隐含对象可以分为4种类型:
      → 表示HTTP请求中的特定数据:
        ⇒ ${header["user-agent"] } <=⇒ <%=request.getHeader("user-agent")%>
        ⇒ ${header.host} <=⇒ <%=request.getHeader("host")%>
        ⇒ ${cookie.username.value}<=⇒ 调用名为username的Cookie对象的getValue()方法
        ⇒ ${param.username}<=⇒ <%=request.getParam("username")%>
      → 表示特定范围
        ⇒ ${sessionScope.cart.total}<=⇒ 等价与 调用会话范围内的属性名为 cart的ShoppingCart对象的getTotal()方法
        ⇒ ${applicationScope.counter.count} <=⇒ 等价与 调用Web范围内的属性名为counter的CounterBean对象的getCount()方法
      → 表示PageContext对象
        ⇒ ${pageContext.servletContext.serverInfo} <=⇒ 等价与 <%=application.getServerInfo()%>
        ⇒ ${pageContext.request.requestURL}<=⇒ 等价与 <%=request.getRequestURL()%>
        ⇒ ${pageContext.response.characterEncoding} <===>等价与 <%=response.getCharacterEncoding()%>
        ⇒ ${pageContext.session.creationTime} <===>等价与 <%=session.getCreationTime()%>
      → 表示Web应用的初始化参数集合
        ⇒ ${initParam.driver} <===>等价与 <%=application.getInitParamter("driver")%>

    说明:

      属性的访问中,可以用 . 或者[]来访问对象的属性及数组的元素,对于属性中有 - 或 空格 等特殊字符的只能用[]。

    命名变量

      说明:

        命名变量不是局部变量或者实例变量,它是存放在特定范围内的属性,命名变量的名字和属性名字对应。
        如果范围内不存在username属性,那么不会打印任何结果。
        

      创建

        命名变量的创建就是创建属性,如下:
        <%
          
    pageContext.setAttribute("username","fuck");
        %>

  • 相关阅读:
    求解整数集合的交集(腾讯笔试)
    关于屏幕适配之比例布局
    (转)注册JNI函数的两种方式
    正则表达式记录
    当年一个简单可用的多线程断点续传类
    最近用到的几个工具方法
    Android中包含List成员变量的Parcel以及Parcel嵌套写法示例
    java实现计算MD5
    一个用于去除状态栏和虚拟导航栏的BaseActivity
    MVP的模板
  • 原文地址:https://www.cnblogs.com/twodog/p/12141047.html
Copyright © 2020-2023  润新知