`
Finishx
  • 浏览: 4855 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

EL表达式用法

    博客分类:
  • EL
 
阅读更多

1EL简介

1.语法结构${expression}

 

2EL 提供.[]两种运算符来存取数据

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

               ${user.My-Name}应当改为${user["My-Name"] }

      如果要动态取值时,就可以用[]来做,而.无法做到动态取值。

               ${sessionScope.user[data]}data 是一个变量

3.变量

     例如:${username}。它的意思是取出某一范围中名称为username的变量。

     因为我们并没有指定哪一个范围的username,所以它会依序从PageRequestSessionApplication范围查找。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null

 

属性范围

EL中的名称

Page

PageScope

Request

RequestScope

Session

SessionScope

Application 

ApplicationScope

    

4.最常用的隐式对象有${param}${paramValues}

${param}表示返回请求参数中单个字符串的值

         存值<c:param name="id" value="888"/>

${paramValues}表示返回请求参数的一组值.

 

5<%@ page isELIgnored="true"%> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言.

      EL语言可显示逻辑表达式${true and false}结果是false ,关系表达式如${5>6} 结果是false,算术表达式如 ${5+5} 结果是10

      EL中的变量搜索范围是:page request session application   点运算符(.)"[ ]"都是

表示获取变量的值.区别是[ ]可以显示非词类的变量

2EL隐含对象

JSP

EL

session.getAttribute("username")

${sessionScope.username}    

request.getParameter(String name)

${param.name}

request.getParameterValues(String name)

${paramValues.name}

3.其他隐含对象

1Cookie   ${cookie.userCountry} 

 

2header 储存用户浏览器和服务端用来沟通的数据

例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得这些值。

 

3initParam取得设定web站点的环境参数(Context)

例:String userid = (String)application.getInitParameter("userid");

        等价于${initParam.userid}

 

4pageContext取得其他有关用户要求或页面的详细信息

 

JSP

EL

${pageContext.request.queryString}

取得请求的参数字符串

${pageContext.request.requestURL}

取得请求的URL,但不包括请求之参数字符串

${pageContext.request.contextPath} 

服务的web application 的名称

${pageContext.request.method} 

取得HTTP 的方法(GETPOST)

${pageContext.request.protocol}

取得使用的协议(HTTP/1.1HTTP/1.0)  

${pageContext.request.remoteUser} 

取得用户名称

${pageContext.request.remoteAddr } 

取得用户的IP 地址

${pageContext.session.new}

判断session 是否为新的

${pageContext.session.id} 

取得session ID

${pageContext.servletContext.serverInfo}

取得主机端的服务信息

4.条件标签

<c:if>并没有提供else子句,可以通过<c:choose>达到类似的目的:

       <c:choose>

    <c:when test="${var.index % 2 == 0}">*</c:when>

    <c:otherwise></c:otherwise>

       </c:choose>

类似Java 中的switch 语句,<c:choose>提供了复杂判定条件下的简化处理手法。其中<c:when>子句类似case子句,可以出现多次。

5.迭代标签ForEach

语法:

<c:forEach items=“collection” var=“name” varStatus=“status” begin=“int“ 

end=”int” step=“int” >

           //循环体

      </c:forEach>

      说明:

               1items:是集合,用EL表达式;

               2var:变量名,存放items

               3varStatus: 显示循环状态的变量

                               index:0开始; ${ name. index }

                               count:元素位置,1开始; ${ name. count }

                               first:如果是第一个元素则显示true;${ name.first }

                               last:如果是最后一个元素则显示true; ${ name. last }

               4begin:循环的初始值(整型)

               5end: 循环结束 ;

               6step:步长,循环间隔的数值;

6.分割循环标签ForTokens

语法:

       <c:forTokens items="a:b:c:d" delims=":" var="token">

<c:out value=""/>

</c:forTokens>

说明:

                      1.items 进行循环的项目

                      2.delims 分割符

                      3.begin 开始条件

                      4.end 结束条件

                      5.step 步长

                      6.var 代表当前项目的变量名

                      7.varStatus 显示循环状态的变量

    这个标签的使用相当于java.util.StringTokenizer类。在这里将字符串a:b:c:d以:分开循环四次,token是循环到当前分割到的字符串。

7.格式化标签FMT

     说明:

               需要导入  

                <%@ taglib prefix="fmt" http://java.sun.com/jsp/jstl/fmt">http://java.sun.com/jsp/jstl/fmt" %>

     1.格式化日期<fmt:formatDate value=“” pattern=“yyyy-MM-dd HH:mm:ss”/>

               Value:通过EL表达式或<%new Date() %> 取的日期值

               Pattern:输出的日期格式                     

     2.格式化数字<fmt:formatNumber  value="${n}" pattern="###,###.##" />

 

8.常用逻辑运算符

   例:${empty param.name}${A?B:C}${A*(B+C)}

 

逻辑运算符

意义

/div / %mod

取商/取余

empty

&&/and

||/ or

==eq/ !=neneq

相等/不相等

gt>/ lt<

大于/小于

gtege>=/ ltele<=

大于等于/小于等于

is /not!

/

is [not] even/ is [not] odd

是否为偶数/是否为奇

分享到:
评论

相关推荐

    el表达式用法部分解说

    本文将详细解释EL表达式的使用方法及其应用场景,帮助开发者更好地理解和掌握这一技术。 #### EL表达式的基础语法 EL表达式总是用大括号`{}`括起来,并且前面有一个美元符号`$`作为前缀,其基本形式为`${...

    EL表达式的使用详解

    本文将详细介绍 EL 表达式的使用方法和应用场景。 一、EL 表达式的基本概念 EL 表达式是一种基于 XML 的表达式语言,用于访问和操作 Java 对象的属性。它提供了一种简单的方式来访问 Java 对象的属性,例如访问...

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

    EL 表达式还可以从域中取出数据,相当于使用 request.getParameter()、request.getParameterValues()、param、paramValues 等方法来获取请求参数和请求头信息。 在 EL 表达式中,还有 11 个内置对象,可以用于简化...

    EL表达式的语法介绍

    EL 表达式可以被解析成数值表达式和方法表达式,其中取值表达式用于引用一个值,而方法表达式则是关联一个方法。 1.1 EL 表达式语法 EL 表达式可以分为三种类型:eval-expression、literal-expression 和 ...

    EL表达式用法.docx

    EL表达式的使用极大地提高了JSP页面的可读性和可维护性,减少了页面与Java代码的耦合,使得开发者能更加专注于页面的呈现逻辑,而不是数据处理。通过掌握上述知识点,开发者能够更高效地利用EL表达式进行JSP开发。

    EL表达式的使用方法

    ### EL表达式的使用方法 #### 一、简介 在Java Web开发中,EL(Expression Language)表达式是一种非常实用的功能,它允许开发者在JSP页面中动态获取对象属性的值或者执行简单的运算操作。通过使用EL表达式,可以...

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

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

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

    EL(Expression ...在"EL表达式练习"中,你可以通过创建不同的JavaBean、设置属性、并在JSP页面上使用EL表达式来实践这些概念。这将帮助你深入理解EL如何工作,以及如何在实际项目中有效地利用它来提高代码质量。

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

    通过上述方法,可以有效解决EL表达式被错误地作为字符串处理的问题。但同时,了解EL表达式的另一个新特性也很重要,那就是它作为JSP 2.0中的一个主要新特性,为JSP页面提供了表达语言支持,让访问JSP隐含对象和...

    EL表达式语言PPT

    EL表达式PPT,详细讲解了EL表达式用法

    实用的el表达式用法

    下面我们将深入探讨EL表达式的基本用法。 1. EL表达式类型 - Eval-expression: 这种表达式以`${expr}`或`#{expr}`的形式出现,两者功能相同,但技术上有所不同。`${expr}`在JSP页面编译时计算,称为直接计算;而`#...

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

    或使用方法调用 --%&gt; Welcome, ${user.greet()}! ``` ### 总结 EL表达式是JSP中强大的数据绑定工具,极大地提高了开发效率和代码质量。通过熟练掌握EL表达式,开发者可以编写出更加简洁、清晰的JSP页面,提升整个...

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

    EL表达式经常与JSTL一起使用,尤其是在JSTL的`c`(Core)标签库中。例如,`&lt;c:if&gt;`和`&lt;c:forEach&gt;`标签可以配合EL表达式进行条件判断和循环操作。通过这种方式,开发者可以将业务逻辑和视图层分离,提高代码的可读性...

    EL表达式运算符用法

    本篇文章将详细介绍EL表达式中的各种运算符及其用法,包括逻辑运算符、关系运算符、算术运算符等,并通过具体的例子进行说明,帮助读者更好地理解和掌握EL表达式的使用技巧。 #### 二、EL表达式基础 EL表达式通常...

    JSTL自定义EL表达式

    `FunctionMapper`接口定义了一个`resolveFunction`方法,该方法会在解析EL表达式时被调用,用于映射函数名到实际的Java方法。 下面是一个创建自定义EL表达式的步骤概述: 1. 创建`FunctionMapper`实现类:你需要...

    EL表达式(很全很强大)

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

    EL表达式使用详解

    - 在EL表达式中,不能使用对象的实例方法。 - EL表达式中的数据操作仅限于读取,不能进行赋值等写操作。 EL表达式已经成为Java Web开发中处理数据存取的重要工具,特别是在使用JSP和JSF技术时。熟悉EL表达式的使用...

    jsp中的EL表达式简介

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

    JS中如何引用EL表达式

    JS 中如何引用 EL 表达式 在 Java Web 开发中,EL(Expression Language)表达式是一种 powerful 的表达式语言,用于在 JSP 页面中...通过遵循正确的方法和注意事项,我们可以成功地在 JavaScript 中引用 EL 表达式。

Global site tag (gtag.js) - Google Analytics