1.EL简介
1.语法结构${expression}
2.EL 提供.和[]两种运算符来存取数据
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。
${user.My-Name}应当改为${user["My-Name"] }
如果要动态取值时,就可以用[]来做,而.无法做到动态取值。
${sessionScope.user[data]}中data 是一个变量
3.变量
例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。假如途中找到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 点运算符(.)和"[ ]"都是
表示获取变量的值.区别是[ ]可以显示非词类的变量
2.EL隐含对象
JSP |
EL |
session.getAttribute("username") |
${sessionScope.username} |
request.getParameter(String name) |
${param.name} |
request.getParameterValues(String name) |
${paramValues.name} |
3.其他隐含对象
1.Cookie ${cookie.userCountry}
2.header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得这些值。
3.initParam取得设定web站点的环境参数(Context)
例:String userid = (String)application.getInitParameter("userid");
等价于${initParam.userid}
4.pageContext取得其他有关用户要求或页面的详细信息
JSP |
EL |
${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} |
取得主机端的服务信息 |
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>
说明:
1.items:是集合,用EL表达式;
2.var:变量名,存放items
3.varStatus: 显示循环状态的变量
index:从0开始; ${ name. index }
count:元素位置,从1开始; ${ name. count }
first:如果是第一个元素则显示true;${ name.first }
last:如果是最后一个元素则显示true; ${ name. last }
4.begin:循环的初始值(整型);
5.end: 循环结束 ;
6.step:步长,循环间隔的数值;
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/ !=、ne、neq |
相等/不相等 |
gt、>/ lt、< |
大于/小于 |
gte、ge、>=/ lte、le、<= |
大于等于/小于等于 |
is /not、! |
是/非 |
is [not] even/ is [not] odd |
是否为偶数/是否为奇 |
相关推荐
本文将详细解释EL表达式的使用方法及其应用场景,帮助开发者更好地理解和掌握这一技术。 #### EL表达式的基础语法 EL表达式总是用大括号`{}`括起来,并且前面有一个美元符号`$`作为前缀,其基本形式为`${...
本文将详细介绍 EL 表达式的使用方法和应用场景。 一、EL 表达式的基本概念 EL 表达式是一种基于 XML 的表达式语言,用于访问和操作 Java 对象的属性。它提供了一种简单的方式来访问 Java 对象的属性,例如访问...
EL 表达式可以被解析成数值表达式和方法表达式,其中取值表达式用于引用一个值,而方法表达式则是关联一个方法。 1.1 EL 表达式语法 EL 表达式可以分为三种类型:eval-expression、literal-expression 和 ...
EL 表达式还可以从域中取出数据,相当于使用 request.getParameter()、request.getParameterValues()、param、paramValues 等方法来获取请求参数和请求头信息。 在 EL 表达式中,还有 11 个内置对象,可以用于简化...
EL表达式的使用极大地提高了JSP页面的可读性和可维护性,减少了页面与Java代码的耦合,使得开发者能更加专注于页面的呈现逻辑,而不是数据处理。通过掌握上述知识点,开发者能够更高效地利用EL表达式进行JSP开发。
### EL表达式的使用方法 #### 一、简介 在Java Web开发中,EL(Expression Language)表达式是一种非常实用的功能,它允许开发者在JSP页面中动态获取对象属性的值或者执行简单的运算操作。通过使用EL表达式,可以...
#### 一、EL表达式的概述与基本使用 EL(Expression Language),即表达式语言,是JavaServer Pages (JSP) 2.0标准的一部分,用于简化JSP页面中对数据访问的操作。它允许开发者通过简单的语法在JSP页面中访问后端...
EL表达式PPT,详细讲解了EL表达式用法
EL(Expression ...在"EL表达式练习"中,你可以通过创建不同的JavaBean、设置属性、并在JSP页面上使用EL表达式来实践这些概念。这将帮助你深入理解EL如何工作,以及如何在实际项目中有效地利用它来提高代码质量。
通过上述方法,可以有效解决EL表达式被错误地作为字符串处理的问题。但同时,了解EL表达式的另一个新特性也很重要,那就是它作为JSP 2.0中的一个主要新特性,为JSP页面提供了表达语言支持,让访问JSP隐含对象和...
下面我们将深入探讨EL表达式的基本用法。 1. EL表达式类型 - Eval-expression: 这种表达式以`${expr}`或`#{expr}`的形式出现,两者功能相同,但技术上有所不同。`${expr}`在JSP页面编译时计算,称为直接计算;而`#...
或使用方法调用 --%> Welcome, ${user.greet()}! ``` ### 总结 EL表达式是JSP中强大的数据绑定工具,极大地提高了开发效率和代码质量。通过熟练掌握EL表达式,开发者可以编写出更加简洁、清晰的JSP页面,提升整个...
EL表达式经常与JSTL一起使用,尤其是在JSTL的`c`(Core)标签库中。例如,`<c:if>`和`<c:forEach>`标签可以配合EL表达式进行条件判断和循环操作。通过这种方式,开发者可以将业务逻辑和视图层分离,提高代码的可读性...
本篇文章将详细介绍EL表达式中的各种运算符及其用法,包括逻辑运算符、关系运算符、算术运算符等,并通过具体的例子进行说明,帮助读者更好地理解和掌握EL表达式的使用技巧。 #### 二、EL表达式基础 EL表达式通常...
`FunctionMapper`接口定义了一个`resolveFunction`方法,该方法会在解析EL表达式时被调用,用于映射函数名到实际的Java方法。 下面是一个创建自定义EL表达式的步骤概述: 1. 创建`FunctionMapper`实现类:你需要...
#### 一、EL表达式的语法结构及使用 EL(Expression Language)是一种简化了的数据访问语言,用于获取JavaBean属性值或调用其方法等操作。其基本语法结构为`${expression}`,这使得开发者能够在JSP页面上以更简洁的...
- 在EL表达式中,不能使用对象的实例方法。 - EL表达式中的数据操作仅限于读取,不能进行赋值等写操作。 EL表达式已经成为Java Web开发中处理数据存取的重要工具,特别是在使用JSP和JSF技术时。熟悉EL表达式的使用...
【JSP EL表达式简介】 EL(Expression Language)是JavaServer Pages(JSP)中的一种简洁的表达式语言,设计的初衷是为了简化JSP页面的编写。EL受到ECMAScript和XPath表达式语言的启发,提供了更高效的方式来访问和...
JS 中如何引用 EL 表达式 在 Java Web 开发中,EL(Expression Language)表达式是一种 powerful 的表达式语言,用于在 JSP 页面中...通过遵循正确的方法和注意事项,我们可以成功地在 JavaScript 中引用 EL 表达式。