zoukankan      html  css  js  c++  java
  • EL表达式

    1 基本概念

      EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据 并输出

    2 主要功能

      依次访问pageContext、request、session和application作用域对象存储的数据

      获取请求参数值

      访问Bean对象的属性

      访问集合中的数据

      输出简单的运算结果

    3 访问内置对象的数据

      (1)访问方式

          <%=request.getAttribute(“ varName”)%>

          用EL实现: ${ varName }

          以前的方式:

          

           现在的方式:

          

          例子2 - 属性名都一样

          

           例子2 - 输出结果

            输出了pageContext对象中的属性值,原因见下图

      (2)执行流程

          

    4 访问请求参数(从前台页面传过来的)的数据

      在EL之前

        request.getParameter(name);

        request.getParameterValues(name);

      在EL中

        param:接收的参数只有一个值  

        paramValues:接受的参数有多个值

        <!-- 获取指定参数的数值 -->

        ${param.name}

        <!-- 获取指定参数中指定下标的数值 -->

        ${paramValues.hobby[0]}

       例子

         

       以前的方式:

        

       现在的方式:

        

     5 访问Bean对象的属性

      (1)访问方式

        方式一: $ { 对象名 . 属性名 },例如:${user.name}

        方式二: $ { 对象名 [“属性名”] },例如:${user["name"]}

      (2)主要区别

          属性名中包含一些特殊字符,如: . 或 ,等并非字母或数字的符号,就一定要使用 [ ] , 而不是.的方式

          使用[]的方式可以动态取值,具体方式如下:

            <%

              request.setAttribute(“prop”,“age”);

            %>

          <!-- 相当于表达式中写一个变量 -->

          ${ user[prop] }

      (3) 例子

    1 - 创建Bean (Person类)

    2 - 设置 & 获取 Bean 中的数据    

     

     

    例子2 - 动态取值

     

    6 访问集合中的数据

      (1) 方法

        <!-- student为ArrayList类型的对象 -->

         ${student[0].name}

      (2) 例子

    例子1

     例子2

    7 常用的内置对象

    类别 标识符 描述
    JSP pageContext PageContext 处理当前页面(的数据)
    作用域 pageScope Map类,同页面作用域,属性名称和值有关
      requestScope Map类,同请求作用域,属性名称和值有关
      sessionScope Map类,同会话作用域,属性名称和值有关
      applicationScope Map类,同应用程序作用域,属性名称和值有关
    请求参数 param Map类,根据名称存储(前端页面带过来的)请求参数的值
      paramValues Map类,把请求参数的所有值作为一个String数组来存储
    请求头 header

    Map类,根据名称存储请求头主要值

      headerValues Map类,把请求头的所有值作为一个String数组来存储
    Cookie cookie Map类,根据名称存储请求附带的cookie
    初始化参数 initParam Map类,根据名称存储Web应用程序上下文初始化参数

     

    8 常用的运算符

    (1)常用的算术运算符

    算术运算符 说 明 范 例 运算结果
    + ${1+2} 3
    ${2-1} 1
    * ${2*3} 6
    / 或 div ${16/5}或${16div5} 3.2
    % 或 mod 取余 ${16%5}或${16mod5} 1

    例子

    (2)常用的关系运算符

     关系运算符  说 明 范 例   运算结果
     ==或eq  等于 ${1==2}或${1 eq 2}   false
     != 或ne  不等于  ${2!=1}或${1 ne 2}  true
     < 或lt  小于  ${2<3}或${2 lt 3 }  true
     > 或 gt  大于  ${16>5}或${16 gt 5}  true
     <= 或 le  小于等于  ${16<=5}或${16 le 5}  false
     >= 或 ge  大于等于  ${16>=5}或${16 ge 5}  true

    (3)常用的逻辑运算符

    逻辑运算符 说 明 范 例 运算结果
    && 或 and 与运算 ${true&&true}或${true and true} true
    || 或or 或运算 ${true||false}或${true or false} true
    ! 或not 非运算 ${!true}或${not true } false

    例子

    (4)条件运算符

      ${条件表达式? 语句1 : 语句2}

    (5)验证运算符

      ${empty 表达式}

      返回布尔值判断表达式是否为"空"值,null值、无元素的集合或数组、长度为零的String被认为是空值。

    例子:

  • 相关阅读:
    获取ArcMap窗口句柄,通过WinAPI获取工作空间中点击要素的系统桌面坐标实现窗体跟随
    ArcGis Go to XY功能代码C#
    Python入门第二篇:基础语法
    python入门第一篇:python语言简介
    Robotium结果的收集和失败重跑
    adb问题整理
    adb pull 与 push
    Monkey测试的参数
    Linux主要命令
    命令行启动应用的几种常见类型
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15392834.html
Copyright © 2011-2022 走看看