`
jiakechong
  • 浏览: 207943 次
社区版块
存档分类
最新评论

EL(Excepress Language表达式语言)

阅读更多

http://topic.csdn.net/u/20080522/18/46474c51-bbf7-42c5-a4a7-26556d2887b1.html

EL(Excepress Language表达式语言)

1.....所有的EL都是以$"{"开始,以"}"结尾的.例:${sessionScope.user.sex}(sessionScope是EL的内置对象,后面会讲到).该例子的意思是:从session中取得用户的性别.相当于下面的代码
<%
User user=(User)session.getParameter("user");
String sex=user.getSex();
%>

2......EL提供"."和"[ ]"两种运算符来存取数据,[]可以访问集合或者数组的元素,Bean的属性.下列两者所代表的意思是一样的,但是需要保证要取得对象的哪个的属性有相应的setXxx()和getXxx()方法才行(即符合JavaBean规范)
例:
${sessionScope.user.set} <=======> ${session.user["sex"]}.  "."和"[]"也可以混合使用,如下:${sessionScope.shoppingCart[0].price} 返回结果为shoppingCart中第一项物品的价格
在EL中,字符串即可以用"abc",也可以使用'abc';

3......EL运算符
EL的算术运算符和JAVA中的运算符大致相同,优先级也相同,区别在于"+"运算符不会连接字符串,只用于加法运算;
EL关系运算符有以下6个
关系运算符号   说明                 举例 结果
==或eq(equal) 等于 ${5==5}或${5eq5} true
!=或ne(not equal) 不等于 ${5!=5}或${5eq5} false
<或lt(less than) 小于 ${3!=5}或${3lt5} true
>或gt(great than) 大于 略
<=或le 小于等于 略
>=或ge 大于等于 略


4.......empty运算符
empty运算符主要用来判断值是否为null或空的,如果为空或null就返回true. 例如 ${empty param.name}(param内置对象,后面讲解)

5........使用EL从表达中取得数据
与输入有关的隐含对象有两个:param和paramValues,他们两个是EL中的内置对象.一般而言,我们在取得用户的请求参数时,可以利用下列方法:request.getParameter(String name)和request.getParameterValues(String name),而在EL中可以是用param和paramValues两者来取得数据.以上的两句等价于${param.name}和$ {paramValues.name},而${paramValues.hobbies[0]}可以通过指定下标来访问特定的参数的值;

EL的内置对象
属性范围 在EL中的对象
page pageScope
request requestScope
session sessionScope
application applicationScope
在EL中使用内置对象的属性${requestScope.user}等价于 <%=request.getParameter("user")%>. 如果不指定范围,那就会在不同的范围间进行搜索.

  对象                        类 型                  说 明
PageContext      |  javax.servlet.ServletContext |表示此JSP的PageContext
-----------------------------------------------------------------------------------
PageScope        |        java.util.Map        |取得Page范围的属性名称所对应的值
-------------------------------------------------------------------------------------
RequestScope    |        java.util.Map        |取得Request范围的属性名称所对应的值
-------------------------------------------------------------------------------------
sessionScope    |        java.util.Map        |取得Session范围的属性名称所对应的值
-------------------------------------------------------------------------------------
applicationScope |        java.util.Map        |取得Application范围的属称所对应的值
-------------------------------------------------------------------------------------
param            |        java.util.Map        |如同ServletRequest.getParameter(String                      |                              |name)返回String类型的值
----------------------------------------------------------------------------------------
paramValues      |        java.util.Map        |如同ServletRequest.getParameterValues                      |                              |(String name)。返回String []类型的值
-----------------------------------------------------------------------------------------
header          |        java.util.Map        |如同ServletRequest.getHeader(String name)                  |                              |返回String类型的值
------------------------------------------------------------------------------------------
headerValues    |        java.util.Map        |如同ServletRequest.getHeaders(String name)                  |                              |。返回String []类型的值
------------------------------------------------------------------------------------------
cookie          |        java.util.Map        |如同HttpServletRequest.getCookies( )
------------------------------------------------------------------------------------------
initParam        |        java.util.Map        |如同ServletContext.getInitParameter(String                  |                              |name)。返回String类型的值
-------------------------------------------------------------------------------------------


pageContext对象

我们可以使用 ${pageContext}来取得其他有关用户要求或页面的详细信息。下面列出了几个比较常用的部分。

Expression                                说 明
${pageContext.request}                  |取得请求对象
${pageContext.session}                  |取得session对象
${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是否为新的,所谓新的session,表示刚由                                         server产生而client尚未使用
${pageContext.session.id}              |取得session的ID
${pageContext.servletContext.serverInfo}|取得主机端的服务信息


JSTL(JSP标准标签库)

JSTL由核心标签, <c:... > ,xml解析标签 <x:...>,国际化标签 <fmt:....>,数据库访问标签 <sql:...>,函数标签 <fn:...>

核心标签
Core
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

属性设置
<c:set> 设置属性
<c:remove> 移除设置的属性

过程控制

<c:if test="..."> 条件标签 只有在test属性的值为true是才会执行标签体
例:
<c:if test="${!(empty user.age)}">
      <h1>hello </h1>
</c:if>

<c:choose>choose和when是组合在一起使用的,有点类似于switch case的语法  。
<c:when test="...">when也是条件判断标签,test属性的值为true是才会执行标签体。
例:
<c:choose>
<c:when test="${param.age <18}">
  <h1>you is a child <h1>
</c:when>
<c:when test="${param.age>18 and param.age <50 }">
    <h1>you is a young person </h1>
</c:when>
<c:when test="${param.age>50}">
    <h1>you is a old person </h1>
</c:when>
</c:choose>

<c:forEach>迭代标签
例:
<c:forEach var="book" item="${store.books}" varStatus="status">
    <h1>${book.parice} </h1>
</c:forEach>
<c:forEach begin="1" end="5" step="1">
    <h1>hello </h1>
</c:forEach>
分享到:
评论

相关推荐

    表达式语言(EL) el表达式

    **表达式语言(EL)详解** 在JavaServer Pages (JSP) 2.0版本中引入了一项重要的新特性,即表达式语言(EL),它极大地简化了在JSP页面中访问JavaBean属性和表达式求值的方式。EL提供了一种简洁、易于阅读的语法,使得...

    EL表达式语言 仅作为字典参考用

    EL表达式语言,即Expression Language,是一种简化了在JSP页面中获取对象属性的过程的语言。它主要用于处理数据模型,并且能够直接从模型中读取属性值,无需编写额外的Java代码。EL表达式语言在JSTL(JSP Standard ...

    EL表达式的使用详解

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

    EL表达式语言 非常详细

    ### EL表达式语言详解 #### 9.1 概述 在JSP页面开发中,为了提高代码的可读性和可维护性,开发者们逐渐转向使用标签库来替代传统的Java片段语言来实现页面的显示逻辑。然而,自定义标签虽然灵活,但也容易导致重复...

    EL表达式语言

    **EL表达式语言** EL(Expression Language)是JavaServer Pages(JSP)2.0及更高版本中的一个强大而简洁的脚本语言,用于在视图层获取和操作JavaBean属性。它允许开发者以声明式的方式访问Java对象的属性,减少在...

    EL,正则表达式,java中常用的验证语言

    首先,EL,全称为Expression Language,是JavaServer Faces (JSF) 中的一种表达式语言,用于在JSF应用中访问和操作应用程序上下文中的数据。EL允许开发者以简洁的方式获取和设置bean属性,执行算术运算,并进行条件...

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

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

    EL表达式语言PPT

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

    EL 表达式语言 jsp表达式

    EL(Expression Language,表达式语言)是JSTL(JavaServer Pages Standard Tag Library)中用于输出和输入Java表达式的一种语言。它简化了在JSP页面中获取和操作数据的过程,尤其是在属性值中使用表达式时。EL...

    EL表达式的语法介绍

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

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

    EL(Expression Language,表达式语言)是JavaServer Pages(JSP)2.0及更高版本中的一个重要组成部分,它提供了一种简洁、强大的方式来访问JavaBean属性和表达式求值。EL表达式主要用于简化JSP页面中的代码,提高...

    表达式语言(EL)

    表达式语言(Expression Language,简称EL)是JavaServer Pages (JSP) 2.0版本中引入的一个强大功能,它提供了一种简单的方式来访问并操作存储在JSP页面上下文中的数据。通过EL,开发者可以在JSP页面中轻松地获取并...

    el表达式用法部分解说

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

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

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

    关于EL表达式语言的简单总结

    ### EL表达式语言详解 #### 一、EL表达式简介 **EL**(Expression Language)是一种简洁的表达方式,用于在JSP页面中访问JavaBean属性、执行运算等操作。EL表达式广泛应用于JSP页面中,它使得开发人员能够更方便地...

    EL表达式语言基本语法

    EL(Expression Language)表达式语言是Java服务器页面(JSP)技术中的一种简化脚本语言,主要用于访问和操作JavaBean或其他Java对象的属性。它的基本语法以`${}`为标识,用于在JSP页面中嵌入动态内容。EL表达式不仅...

    jsp el 表达式语言文档

    在JavaServer Faces(JSF)框架中,EL是默认的表达式语言,用于在视图层和模型层之间传递数据,大大简化了JSF组件的属性绑定。 **八、EL的版本和特性** EL有多个版本,从EL 1.0到EL 3.0,每个版本都引入了新的特性...

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

    EL(Expression Language),即表达式语言,是JavaServer Pages (JSP) 2.0标准的一部分,用于简化JSP页面中对数据访问的操作。它允许开发者通过简单的语法在JSP页面中访问后端数据,无需编写复杂的Java代码。 #####...

    EL -- 表达式的详细解析

    EL(Expression Language,表达式语言)是Java EE中用于在JSP、JSF等Web开发技术中进行数据访问和操作的重要工具。它提供了一种简洁的语法,使得开发者可以方便地从请求、会话、应用范围等上下文中获取数据,进行...

Global site tag (gtag.js) - Google Analytics