`

EL表达式

 
阅读更多

最近心里乱乱的。有时候也该记录点啥。想起啥就写点啥吧。总比一天天这样无所事事的耗下去好。这样有背时代精神呀。

-----------------------------------------------------华丽丽的分割线-------------------------------------------------------------

 

EL(Expression Language)表达式语言是JSP2.0版本中引入的新特性,用于在JSP文件中的数据访问。在JAVA1.4之前是不支持的。

 

先来看一段JSP代码:

 

<%

    User user = (User)session.getAttribute("user");

        if(null != user){

 %>

<%=user.getUserName() %>

<% } %>

 

这是一段JSP代码。比较繁锁。而且大量的JSP标签和JAVA程序片,让我们开发和维护都比较困难。再看下EL表达式的写法:

${user.userName}

 

可见,EL表达式大大的简化 了JSP代码。而且也是JSP现在极力推荐的表达式。

${属性/表达式}

例如:${user.name};${20>24}; ${empty user} ; ${2>3?8:5};

 

表达式用点号运算符来访问对象属性。也可以用[]来访问。当然[]也可以用来访问数组

EL表达式的运算符:

 

有算术运算符:+ , - ,* ,/或div,%或mod。

 

关系运算符:==或eq,<或lt,>或gt,!=或ne,<=或le,>=或ge

 

逻辑运算符:&&或and ,||或or,!或not。

empty运算符和条件运算符:a?b:c

 

注意:empty运算符返回true的情况:${empty var}

1、var 变量不存在,即没有被定义。

2、var变量的值为null。

3、变量引用集合set,list,map类型的对象,并且集合对象中不包含任何元素。

另外,empty运算符可以与not(!)一起使用。如:${! empty user.name}

 

---------------------------------------------以上是语法,下面来看EL提供的隐含对象-------------------------------------

在EL表达式中共有11个隐式对象

  • 与作用范围有关的EL隐含对象包含有:pageScope、requestScope、sessionScope和applicationScope
    • 它们可以读取使用JSP内置对象pageContext、request、session以及application的setAttribute()方法所设定的对象的数值-----即getAttribute(String name),却不能取得其他相关信息。
    • 例如,要取得session中储存的一个username属性的值,可以利用下面的方法:session.getAttribute("username")
    • 在EL中则使用下面的方法:${sessionScope.username}
    • 注意:如果没有设定使用EL内置对象的作用范围,则按照pageScope、requestScope、sessionScope和applicationScope的先后顺序读取属性值。
    • 即,通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果域对象中不存在标识符所对应的对象,则返回结果为“”(注意,不是null)。
  • 与输入有关的隐含对象param和paramValues,它们是EL中比较特别的隐含对象。
    • 要取得用户的请求参数时,可以利用下列方法:
      • request.getParameter(String name)
      • request.getParameterValues(String name)
    • 在EL中则可以使用param和paramValues两者来取得数据:
      • ${param.name}
      • ${paramValues.name}------这时可同时使用[]运算符号来读取哪个元素,例如${paramValues.week[0]}
  • 其他隐式对象
    • cookie
      • 用来取得使用者的cookie值,例如在cookie中设定了username属性值,可以使用${cookie.username.value}来取得属性值。
    • header和headerValues
      • 读取请求的头数据,使用header或headerValues内置对象,例如${header[“User-Agent”]},headerValues则用来取得所有的头信息,等价于调用request.getHeaders()方法。
    • initParam
      • initParam用来读取设置在web.xml中的参数值。例如${initParam.repeat},等价于:(String)application.getInitParameter(“repeat”);  或 servletContext.getInitParameter(“repeat”);
    • pageContext
      • pageContext用于取得其他有关用户要求或页面的详细信息
        ${pageContext.request.queryString} 取得请求的参数字符串
        ${pageContext.request.requestURL} 取得请求的URL,不包括参数字符串
        ${pageContext.request.contextPath}         服务的web application 的名称
        ${pageContext.request.method}           取得HTTP 的方法(GET、POST)
        ${pageContext.request.protocol}         取得使用的协议(HTTP/1.1、HTTP/1.0)
        ${pageContext.request.remoteUser}         取得用户名称
        ${pageContext.request.remoteAddr }         取得用户的IP 地址
        ${pageContext.session.new}             判断session 是否为新的
        ${pageContext.session.id}               取得session 的ID
        ${pageContext.servletContext.serverInfo}   取得主机端的服务信息

 

 

 

 

 from :http://blog.csdn.net/zhaoyazhi2129/article/details/8175201

分享到:
评论

相关推荐

    EL表达式的使用详解

    EL 表达式的使用详解 EL 表达式是一种在 Java 服务器页面(JSP)中使用的表达式语言。它提供了一种简单的方式来访问和操作 Java 对象的属性。EL 表达式广泛应用于 JSP、Servlet、JSF 等 Web 开发技术中。本文将详细...

    el表达式用法部分解说

    ### EL表达式详解 EL(Expression Language)表达式在Java Web开发中扮演着重要的角色,尤其是在JSP(Java Server Pages)技术中。本文将详细解释EL表达式的使用方法及其应用场景,帮助开发者更好地理解和掌握这一...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    当EL表达式被错误地当作字符串处理而不是被解析时,会导致其原本要展示的数据无法正确显示。这个问题在使用Java EE 5及以上版本时比较常见。 要解决这个问题,首先需要理解EL表达式的解析与web.xml配置文件中指定的...

    EL表达式EL表达式

    **EL表达式(Expression Language)**是Java服务器页面(JSP)技术中的一个重要组成部分,它提供了一种简洁而强大的方式来访问和操作数据,如JavaBeans属性、JSP作用域中的对象等。EL表达式的设计目标是简化JSP页面的...

    EL表达式包括字符串处理,时间日期的格式化,数字处理

    ### EL表达式详解 #### 一、EL表达式的概述与基本使用 EL(Expression Language),即表达式语言,是JavaServer Pages (JSP) 2.0标准的一部分,用于简化JSP页面中对数据访问的操作。它允许开发者通过简单的语法在...

    EL表达式的语法介绍

    EL 表达式语法介绍 EL 表达式是 Java 服务器页面(JSP)和 Java 服务器面板(JSF)中使用的一种表达式语言,用于在 Web 应用程序中实现动态内容。EL 表达式可以被解析成数值表达式和方法表达式,其中取值表达式用于...

    el 表达式el 表达式el 表达式

    **EL表达式简介** EL全称为Expression Language,最初在JSTL 1.0中作为方便数据存取的自定义语言出现,仅限于在JSTL标签内使用,如`${3 + 7}"&gt;`。然而,随着JSP 2.0的发布,EL已成为标准规范的一部分,适用于支持...

    EL表达式使用文档,方便快速使用EL表达式.pdf

    EL 表达式使用文档 EL 表达式(Express Language)是一种强大的表达式语言,用于简化 JSP 页面中的编程。EL 表达式可以嵌入在 JSP 页面内部,减少 JSP 脚本的编写,目的是要替代 JSP 页面中脚本的编写。 EL 表达式...

    JSTL以及EL表达式所需jar包

    EL表达式是Java EE中的一个强大功能,它允许开发者在JSP页面中简洁地访问和操作应用程序范围内的对象。EL表达式的语法类似于JavaScript,但它的主要目的是提供一种声明式的方式来获取和设置JavaBeans属性。例如,`${...

    EL表达式练习 EL表达式练习

    EL表达式主要用于简化JSP页面中的代码,提高可读性和可维护性。 **EL表达式的基本语法** EL表达式通常以"$"或 "#{}" 开头,如 `${expression}` 或 `#{expression}`。这里的`expression`是一个变量或方法调用,它...

    JAVAEE实验报告EL表达式和jstl标签库的使用.pdf

    JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...

    el表达式EL表达式言语和JSTL

    **EL表达式** EL(Expression Language)表达式是Java服务器页面(JSP)2.0及更高版本中引入的一种轻量级、强大的脚本语言,主要用于简化Java Web应用程序中的数据访问。它允许开发者在JSP页面中直接访问JavaBean...

    jsp中的EL表达式简介

    【JSP EL表达式简介】 EL(Expression Language)是JavaServer Pages(JSP)中的一种简洁的表达式语言,设计的初衷是为了简化JSP页面的编写。EL受到ECMAScript和XPath表达式语言的启发,提供了更高效的方式来访问和...

    EL表达式全解语法中文技术文档

    **EL表达式全解语法中文技术文档** **一、EL表达式基础** EL(Expression Language,表达式语言)是JavaServer Pages(JSP)2.0及更高版本中引入的一种强大的脚本语言,用于简化页面中的数据访问。EL表达式在JSP中...

    EL表达式(很全很强大)

    ### EL表达式详解 #### 一、EL表达式的语法结构及使用 EL(Expression Language)是一种简化了的数据访问语言,用于获取JavaBean属性值或调用其方法等操作。其基本语法结构为`${expression}`,这使得开发者能够在...

    JSTL,EL表达式语法简介

    EL表达式通常在`${}`中书写,比如`${user.name}`用来获取名为`user`的对象的`name`属性。 **JSTL中的核心标签库(Core Tags)**包括用于控制流程、输出、URL处理、条件判断和迭代的标签。例如: - `&lt;c:if&gt;`用于条件...

    JS中如何引用EL表达式

    JS 中如何引用 EL 表达式 在 Java Web 开发中,EL(Expression Language)表达式是一种 powerful 的表达式语言,用于在 JSP 页面中访问和操作 JavaBean 的属性。然而,在 JavaScript 中引用 EL 表达式却存在一些...

    JSTL自定义EL表达式

    本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...

    el表达式介绍 el表达式使用帮助文档

    EL表达式的主要目标是提高JSP页面的可读性和可维护性,减少脚本代码的数量。 ### EL表达式的基本语法 EL表达式通常以`$`符号开头,后跟大括号`{}`,如`${expression}`。表达式可以是简单的属性引用,也可以包含...

Global site tag (gtag.js) - Google Analytics