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");
    %>

JavaWeb:EL表达式的更多相关文章

  1. JavaWeb EL表达式 key为数值 Map取不到值

    JavaWeb  EL表达式 key为 Map取不到值 因为JSTL会把Integer,Byte,Short,Charactor都转成Long,这样就取不到值. 参见StackOverFlow的回答 ...

  2. javaWeb el表达式和jstl快速入门案例

    <%@page import="de.bvb.domain.Person"%> <%@page import="de.bvb.domain.Addres ...

  3. EL表达式 EL函数 自定义el函数 《黑马程序员_超全面的JavaWeb视频教程vedio》

    \JavaWeb视频教程_day12_自定义标签JSTL标签库,java web之设计模式\day12_avi\12.EL入门.avi; EL表达式 1. EL是JSP内置的表达式语言! * jsp2 ...

  4. JavaWeb基础—EL表达式与JSTL标签库

    EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...

  5. 超全面的JavaWeb笔记day12<Jsp&JavaBean&El表达式>

    1.JSP三大指令 page include taglib 2.9个内置对象 out page pageContext request response session application exc ...

  6. JavaWeb学习笔记(八)—— EL表达式

    一.EL表达式概述 在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护.为此,在JSP2.0规范中提供了EL表达式.EL全名 ...

  7. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  8. JavaWeb(七):EL表达式、自定义标签和JSTL

    一.EL表达式 语法 el.jsp <%@page import="java.util.Date"%> <%@page import="com.atgu ...

  9. 【JavaWeb】EL表达式&过滤器&监听器

    EL表达式和JSTL EL表达式 EL表达式概述 基本概念 EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其 ...

随机推荐

  1. javascript模块化编程(三):require.js用法

    本文来自阮一峰 这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require ...

  2. String对象方法扩展

    /** *字符串-格式化 */ String.prototype.format = function(){ var args = arguments;//获取函数传递参数数组,以便在replace回调 ...

  3. canvas 学习

    <!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...

  4. go中安装Beego不成功笔记

    在go.Git等等之类的相关软件安装好了之后,便可以安装Beego. 1.开始的时候是由于网络限制,不能访问Github,这个还好说找VPNFQ... 2.之后的问题,在git Bash中输入go g ...

  5. SQL Server2005清除数据库日志

     SQL2005清空删除日志: 复制代码 代码如下: Backup Log DNName with no_log  '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了 ...

  6. radio相关

    radio 按钮组, name=”sex”. <input type="radio" name="sex" value="Male"& ...

  7. [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图

    [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...

  8. SQL Server 事务隔离级别详解

    标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务级别 SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一 ...

  9. shell日常案例(一)

      序   在linux平台下开发,我们经常会接触到一些任务性质的工作,而处理方式多样化.现积累各个案例.   清理近7天的数据   日志文件越来越大,我们需要及时的去做清理工作.配合工具:find, ...

  10. 如何给CentOS安装字体库

    很多时候,我们需要做一些图像生成工作(譬如验证码之类的),这时候,我们一般都需要用到系统的字体库.但事情却总非尽善人意,我们所使用的Linux操作系统无法像Windows操作系统那样足够“旗舰”,字体 ...