`
Finishx
  • 浏览: 4738 次
  • 性别: 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表达式总是用大括号括起,而且前面有一个美元符($)前缀:${expression}。 表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)中的一个属性.........

    EL表达式的使用详解

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

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

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

    EL表达式用法.docx

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

    EL表达式的语法介绍

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

    EL表达式EL表达式

    5. **函数调用**:EL表达式可以调用Java类库中的静态方法,例如`${fn:trim(str)}`可以调用`java.util.Formatter`中的`trim()`方法去除字符串两端的空格。 6. **列表和数组访问**:通过索引可以直接访问数组或列表...

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

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

    EL表达式语言PPT

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

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

    EL表达式的使用方法

    JAVA中的EL表达式大全,可以很快学会其中的使用方法,

    JS中如何引用EL表达式

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

    JSTL自定义EL表达式

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

    jsp中的EL表达式简介

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

    简单使用EL表达式标签

    **EL表达式简介** EL(Expression Language,表达式语言...通过简单使用EL表达式标签,我们可以轻松地在JSP页面中展示和处理数据,实现页面与后台的高效交互。理解和熟练运用EL表达式,对于提升Web开发技能至关重要。

    EL表达式的应用

    这个文档详细阐述了JSTL的API、功能和用法,包括如何使用EL表达式与JSTL标签进行交互。 通过阅读这份文档,你可以了解到: 1. **JSTL标签**:了解JSTL的核心标签库、XML处理标签库(`fmt`、`function`、`nls`、`sql...

    EL表达式详解教程.zip

    通过阅读"EL表达式常用标签.pdf"和"EL表达式详解教程.pdf",你可以深入理解EL表达式的各种用法和技巧,包括高级特性如变量作用域、函数支持和EL表达式的上下文信息。这些文档应该涵盖了EL表达式的详细语法、常见问题...

    el表达式简介和使用方法

    el el表达式 el使用方法 el简介 详细的el表达式使用方法介绍,免去看视频的麻烦,看完直接能上手

    el表达式帮助文档.chm

    其中包括了EL表达式的语法用法和一些例子程序

Global site tag (gtag.js) - Google Analytics