EL表达式详解

原创 2012年03月28日 09:26:34
EL表达式语法:
${ EL expression}
其中:
$表示EL表达式的开始。
EL expression指定表达式。

一、JSP EL表达式可用于如下几种方式。
1 静态文本:包含EL表达式,其值在运行时计算出来。
如: ${8+5}

2 标准标签和自定义标签属性:帮助显示网页上的动态内容。
JSP提供一些标准标签,<jsp:useBean>、<jsp:include>等。自定义标签是由用户使用taglib指令 编写的。
EL表达式可以作为一个值传递给上述标签的属性。表达式在运行时计算,结果值将作为属性值进行传递。
如:
<%
pageContext.setAttribute("color","#ffccff");
%>
<body bgcolor="${pageScope.color}">
7+8=${7+8}
</body>

3 JavaBean与EL表达式:使用EL表达式可以简洁地读出JavaBean的属性值。
传统的JSP通常使用如下方法访问JavaBean:
<jsp:getProperty name=”myBean” property=”name”/>
<%=myBean.getName()%>
EL表达式则简化为:
${myBean.name}

二、启用/禁用EL表达式
<%@ page isELIgnored=”true|false” %>
为true时,支持EL表达式计算。
为false时,不支持EL表达式计算。

三、变量
JSP表达式${product}的计算结果与调用pageContext.findAttribute(“product”)一样,EL表达式 中的变量可以引用存储在标准范围(如:page request session application)中的属性。

点运算符(.)和”[]”用于获取变量的值。
如:a.identifier-b与expr-a[identifier-b]等价。

四、隐式对象
JSP隐式对象是一组标准的类。在JSP EL定义了如下隐式对象:
1 pageContext:提供对页面属性的访问。通过pageContext对象可以访问和使用下列对象。

2 request:表示接受的客户端的JSP页面请求。请求的信息可以使用request对象来访问。 如:${pageContext.request.contextPath}返回请求的上下文路径。

3 param:返回将请求参数名映射至单个字符串值的值。如:${param[“name”]}

4 paramValues:返回映射至客户端的请求参数的一组值。

5 pageScope:返回页面范围的变量名,这些名称已映射至相应的值。

6 requestScope:提供对请求对象的属性的访问权限。

7 sessionScope:返回会话范围内的变量名。

8 applicationScope: 返顺应用程序范围内抽变量名。
五、文字常量
JSP表达式语言定义了下列文字常量:
1 布尔型:true或false。
2 整型:与Java中的整型相同。
3 浮点型:与Java中的浮点型相同。
4 字符串型:用单引号或双引号引起。
5 null:表示没有值。0和空字符串表示的不是null值。


六、运算符
点运算符(.)和”[]”用于获取变量的值。
!或not                                布尔值取反
empty                                 检查空值
*                                          乘法
/或div                                 除法
%或mod                           求余数或取模
+                                         加
-                                          减
<或lt                                  小于
>或gt                                 大于
<=或le                               小于等于
>=或ge                             大于等于
==或eq                             等于
!=或ne                               不等于
&&或and                          逻辑与
||或 or                                逻辑或
num1?num2:result        条件运算符

=================================================================
[size=large]EL表达式 动态表格数据加序号
<c:forEach var="zb" items="${list}" varStatus="index">
${index.count}
</c:forEach>


================================================================
定义页面变量,自增
<c:set value="0" var="i" scope="page"/> <c:forEach var="fb" items="${FB}" varStatus="index">     
<tr> <td width="10%" align="center"> <c:if test="${!empty fb.sfbz}">
<c:set value="${pageScope.i + 1}" var="i" scope="page"/>
<c:out value="${pageScope.i }"/> </c:if>  
</td> <td width="40%">
${fb.xmmc}
</td>
<td width="40%">
${fb.sfbz}
</td>
</tr>
</c:forEach>
==================================================================
格式化时间
<fmt:formatDate value="${yxqjz}" pattern="yyyy-MM-dd" />
<fmt:formatDate value="${zxyprice.startdate2}" type="date" dateStyle="medium"/>

====================================================================
跨行
<c:if test="${status.index == 0}" >
<td rowspan="${size}">1月</td>
</c:if>
=====================================================================
<script type="text/javascript">
<!--
var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
TabbedPanels1.showPanel(${tabId});
//-->
</script>

<div id="TabbedPanels1" class="TabbedPanels">
<ul class="TabbedPanelsTabGroup">
<li class="TabbedPanelsTab" tabindex="0" style="font-size:12px;background-color:#DED465;">
工作计划
</li>
</ul>
</div>

EL表达式 (详解)

 EL表达式     1、EL简介1)语法结构       ${expression}2)[]与.运算符     EL 提供.和[]两种运算符来存取数据。     当要存取的属性名称中包含一些特殊字符...
  • qwerasdf123
  • qwerasdf123
  • 2009年05月15日 18:07
  • 236308

EL表达式常见用法详解

1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护。最基本的语法是${express}。 2.获取并显示数据 1)从四...
  • L_BestCoder
  • L_BestCoder
  • 2017年02月02日 17:33
  • 1589

EL表达式详细教程

EL表达式(Expression Language),主要功能是用来获取数据并显示,也可做算术和逻辑运算,与传统的JSP标签相比,使用起来,更加方便,代码更加简洁,极力推荐使用,本文将逐一介绍EL表达...
  • xiaoed
  • xiaoed
  • 2015年02月05日 12:29
  • 1462

JSP 中EL表达式用法详解

EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构: ${sessionScope.user.sex} ...
  • m8396017
  • m8396017
  • 2016年09月05日 22:51
  • 15619

EL表达式分别在jsp和js中

EL表达式总是用大括号括起,而且前面有一个美元符($)前缀:${expression}。 表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)...
  • Smith_My_
  • Smith_My_
  • 2016年12月15日 17:13
  • 1573

JSP详解--EL表达式

什么是EL表达式? EL表达式的全称是Expression Language(直译:表达式语言),目的是简化JSP获取JavaBean和属性。EL表达式的基本语法是“${ exp }”. 简单的用...
  • Aquarlus
  • Aquarlus
  • 2016年08月17日 20:08
  • 445

El表达式运算符

在EL表达式中我们可以使用运算符以达到我们想要的结果,运算符按作用分为以下几种: 1.算术运算符 +  例如:${6+6} 。注意:在EL表达式中的‘+’只有数学运算的功能,没有连接符的功能,它会试着...
  • zhangzeyuaaa
  • zhangzeyuaaa
  • 2015年05月01日 14:51
  • 18352

EL表达式及其定义和使用

简介 EL(Expression Language)表达式语言实在JSP2.0版本中引入的新特性,它用于JSP文件中的数据访问。这种表达式语言能简化JSP文件中数据访问的代码,可用来代替传统的基于””...
  • Goskalrie
  • Goskalrie
  • 2016年05月04日 16:34
  • 10798

el表达式动态拼接变量_c:set的用法

直接在jsp页面上输出一个值:${tm}
  • xb12369
  • xb12369
  • 2014年09月26日 16:24
  • 17284

EL表达式循环数组

end="${fn:length(fn:split(arr,','))}" varStatus="stat"> ${addr} 输出: 北京 上海 深圳 广州...
  • liusocg520
  • liusocg520
  • 2016年02月23日 14:18
  • 1181
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EL表达式详解
举报原因:
原因补充:

(最多只允许输入30个字)