JSTL:javaServer pages Standard Tag Library,是一个不断完善的开源的jsp标签库。JSTL包含两部分内容:标签库和EL表达式语言。
1.EL表达式语言的主要结构如 ${sessionSoap.user.sex},所有EL表达式都是以${开头,以}结尾。这个表达式的意思是从session中取出user,然后取出user的sex属性的值。转换成java代码如下:
User user = (User)session.getAttribute("user");
String sex = user.getSex();
EL表达式用.和[]来导航数据。表达式${sessionSoap.user.sex}也可以写成${sessionSoap.user["sex"]},当然而这也可以混用,如${sessionSoap.users[0].sex}意思可以转换成java代码如下:
User[] users = (User[])session.getAttribute("users");
User user = users[0];
String sex = user.getSex();
当然,而这在不同情况下也会有差异:
(1)当要存取的属性名称中包含一些特殊字符,如.或者-等时,一定要用[],例如${user.x_y},这种情况要替换为${user["x_y"]}
(2)如果要动态取值时,就要用[],.无法做到动态取值,如${sessionScope.user[str]},当str是"name"时,相当于
${sessionScope.user.name},而当str是"sex"时,相当于${sessionScope.user.sex}
2.EL的存取值
假如表达式是${userName},此表达式的意思是从某一范围内取出变量名为userName的值。它的取值顺序是:page--request---session---application。即首先从pageScope中取值,如果取出则返回,如果未取出则去requestScope中去取,依次类推,如果在application中仍未取出值,则返回null,EL表达式对null做了优化,页面不会显示null,而是现实空白。
当然,也可以从指定范围内取出变量,如:
${pageScope.userName},${requestScope.userName},
${sessionScope.userName},${applicatonScope.userName}
3.EL的类型转化
EL除了提供方便存取变量的语法之外,它还有另外一个功能:类型转换。
${user.age+18},如果EL获取的user.age的值为2的话,则表达式的结果为20。这就是EL表达式自动类型转换的好处。但是在jsp1.2中不能这么做,获得值一定为String类型,要把String转换为Integer,然后再进行数据相加。
4.EL表达式的隐含对象共有11个:
PageContext PageScope RequestScope sessionScope applicationScope param paramValues header headerValues cookie initParam
值得注意的有以下两点:1).如果输出场量,如"userName",则不能使用${userName},而应当用""包进来,即${"userName"} 2).PageScope RequestScope sessionScope applicationScope在EL中只能取属性值,而page,request,session,application在jsp中还可以取出其他的信息。如请求头等等。
注意:EL表达式只能通过内置对象取值,也就是只读操作,如果修改某一值需要在后台代码中操作。。
常用的pageContext:
pageContext
我们可以使用 ${pageContext}来取得其他有关用户要求或页面的详细信息。下表列出了几个比较常用的部分
${pageContext.request.queryString}
取得请求的参数字符串
${pageContext.request.requestURL}
取得请求的URL,但不包括请求之参数字符串,即servlet的HTTP地址。
${pageContext.request.contextPath}
服务的webapplication的名称
${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}
取得主机端的服务信息
原文地址:
http://blog.163.com/zsq303288862@126/blog/static/9374596120123174410927/
分享到:
相关推荐
描述中的"EL和JSTL表达式学习资料,精品总结"提示我们,这份压缩包可能包含了一份详尽的教程或总结,它将重点放在EL和JSTL的使用和表达式上,可能是通过实例和清晰的解释来帮助学习者快速掌握这些技术。 **EL...
标题中的“为java_web项目添加spring_MVC框架(JSTL表达式)”指的是在Java Web开发中集成Spring MVC框架,并利用JSTL(JavaServer Pages Standard Tag Library)进行页面表达式的处理。Spring MVC是Spring框架的一个...
**JSP中的EL和JSTL表达式** 在JavaServer Pages (JSP) 开发中,EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)是两个非常重要的工具,它们极大地简化了页面逻辑,提高了代码的可读性和...
**JSTL(JavaServer Pages Standard Tag Library)**是一个用于JavaServer Pages的标签库,它提供了许多用于处理常见Web开发任务的预定义标签。...学习和熟练掌握JSTL,对于提升Web开发技能是非常有帮助的。
在实验中,我们学习了 EL 表达式和 JSTL 标签库的原理和使用,了解了如何使用 EL 表达式和 JSTL 标签库来简化 JSP 页面的开发。我们还学习了如何使用 EL 表达式和 JSTL 标签库来实现具体的功能,例如输出数据、条件...
例如,`<c:out>`是JSTL中的一个核心标签,用于输出变量或表达式的值,而`${}`则是EL表达式的符号,用于访问和操作Java对象的属性。 **Session**是HTTP协议中的一个概念,用于在多个HTTP请求之间保持状态。在Web开发...
JSTL表达式语言(EL,Expression Language)是一种轻量级的语言,专门用于JSP页面中,旨在减少脚本代码的数量,提高代码的可读性和可维护性。与传统的JSP页面中广泛使用的Java脚本元素相比,EL具有以下优势: - **...
在PPT和PDF文件中,可能包含关于这些技术的演示文稿和详细教程,帮助学习者更直观地理解如何在实际项目中应用JSTL、JSP和EL。例如,PPT可能会有交互式的幻灯片,解释每个标签的用法和示例,而PDF文档则可能提供更...
**JSP的JSTL标签和EL表达式详解** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码来生成动态内容。然而,传统的JSP脚本语法可能导致代码混乱且不易维护。为了解决这个问题...
在JSTL中,`EL(Expression Language)`是用于访问JavaBeans属性和其他Java对象的数据的表达式语言。 ### EL表达式 **基本格式** EL表达式通常以美元符号 `$` 开头,包裹在花括号 `{}` 中,如 `${expression}`。它...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它简化了在JSP页面中的编程,...在学习过程中,参考“JSTL标签库.doc”和“EL表达式详解.doc”文档将有助于深入理解这两个主题。
### EL表达式与JSTL标签库详解 #### 一、EL表达式 **1.1 什么是EL表达式** EL(Expression Language)表达式是一种简洁的语法结构,用于访问和处理Java对象,特别是在JSP页面中。它使得开发者能够更方便地在JSP...
**JSTL的学习路径:** 1. **了解核心标签**:包括`<c:if>`, `<c:choose>`, `<c:when>`, `<c:otherwise>`, `<c:forEach>`, `<c:forTokens>`等,它们分别对应条件判断和循环控制。 2. **掌握EL表达式**:EL...
JSTL是一组预定义的标签库,用于处理常见任务,如迭代、条件判断、XML处理等,而EL是一种表达式语言,用于在视图层获取和设置JavaBean属性,使得数据绑定更加方便。** **JSTL标签库** JSTL提供了多个核心标签集,...
下面我们将详细介绍如何使用JSTL EL表达式遍历Map集合。 ### JSTL EL表达式概述 JSTL(JavaServer Pages Standard Tag Library)是一个JSP标签库,它简化了JSP页面的开发,使得JSP能够更专注于显示逻辑,而不是...
综上所述,JSTL及其内置的EL表达式语言,为JSP开发者提供了一套强大而灵活的工具,极大地提高了Web应用的开发效率和代码质量。无论是进行基础的数据处理,还是复杂的业务逻辑实现,JSTL都能提供相应的支持,是现代...
### EL表达式学习资料 #### 一、EL简介 EL(Expression Language)是Java Server Pages (JSP) 技术中的一种简化的脚本语言,主要用于简化页面开发中对对象和属性的访问过程。EL 表达式允许开发者在 JSP 页面中直接...
**JSTL(JavaServer Pages Standard Tag Library)学习源码** JSTL 是一套用于 JavaServer Pages (JSP) 的标准标签库,它提供了一系列标签来简化 JSP 页面的编程,使得开发者能够更加关注页面逻辑而不是底层的 Java...
JSTL标签与EL表达式,祝大家学习进步!
El表达式结合JSTL标签库的使用,达到jsp页面无java代码的效果(结合jsp技术)