zoukankan      html  css  js  c++  java
  • [原创]java WEB学习笔记37:EL表达式(简介,运算符,自动类型转换,保留字,隐含对象)

    1.EL 简介

      1)EL 全名为 Expression  Language,它原本是 JSTL  1.0 为方便存取数据所自定义的语言

      2)语法:EL 语法很简单,它最大的特点就是使用上很方便:${sessionScope.user.sex}。所有 EL 都是以  ${  为起始、以}  为结尾的。

      3).与[ ] 运算符:EL 提供. 和[ ] 两种运算符来存取数据

      例子:${sessionScope.user.sex}  等于 ${sessionScope.user["sex"]}

    2. . 和 [] 运算符 

    当要存取的属性名称中包含一些特殊字符, 如 . 或 – 等并非字母或数字的符号, 就一定要使用[ ],例如:

    ${user.My-Name }
      上述是不正确的方式,应当改为:
    ${user["My-Name"] }

     1 <%    
     2         Customer cust = new Customer();
     3         cust.setName("jason");
     4         session.setAttribute("com.jason.customer", cust);
     5     %>
     6     <br>
     7     <!-- 普通方法  -->
     8      <%
     9          Customer cust1 = (Customer) session.getAttribute("com.jason.customer");
    10          String name = cust1.getName();
    11          out.print(name);
    12      %>
    13     <br>
    14     <!-- el 方式 -->
    15     <!-- 在域对象中的 属性名 含有特殊字符时候,使用 [] 运算符很方便 -->
    16     name:${sessionScope.com.jason.customer.name }
    17     <br>
    18     name:${sessionScope["com.jason.customer"].name }

    3.EL 中的隐含对象

    EL 存取变量数据的方法很简单,例如: ${username}。 它的意思是取出某一范围中名称为 username的变量。因为我们并没有指定哪一个范围的 username,所以它的默认值会先从 Page 范围找,假如找不到,再依序到 Request、Session、Application 范围。假如途中找到 username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传 null.

    ${pageScope.username}     取出 Page 范围的 username 变量

    ${requestScope.username}     取出 Request 范围的 username 变量


    ${sessionScope.username}     取出 Session 范围的 username 变量


    ${applicationScope.username}  取出 Application 范围的 username 变量

    pageScope、requestScope、sessionScope 和 applicationScope 都是 EL 的隐含对象,由它们的名称可以很容易猜出它们所代表的意思,例如:${sessionScope.username}是取出 Session范围的 username 变量 

    4.EL 中的自动转变类型

    ${param.count + 20}
    假若窗体传来 count 的值为 10 时, 那么上面的结果为 30

    5.保留字

            

    所谓保留字的意思是指变量在命名时,应该避开上述的名字,以免程序编译时发生错误

  • 相关阅读:
    05-java学习-循环结构
    04-java学习-选择结构
    03-java学习-基本数据类型-运算符-键盘接收用户输入
    A02-java学习-classpath配置-标识符-java变量类型
    A01-java学习环境准备
    20190215面试-C#操作外设-多线程-shocket
    装饰者模式
    状态模式
    DllImport学习
    网络编程(一)----基础知识、数据流套接字
  • 原文地址:https://www.cnblogs.com/jasonHome/p/5556492.html
Copyright © 2011-2022 走看看