JSP 2.0中的Expression Language(EL)详解

需积分: 10 8 下载量 78 浏览量 更新于2024-12-02 收藏 645KB PDF 举报
"JSP EL表达式学习" JSP Expression Language(EL)是一种强大的表达式语言,用于在JSP页面中简化数据访问。EL最初在JSTL 1.0版本中引入,目的是为了方便地存取数据。在JSP 2.0之后,EL被正式纳入标准规范,成为JSP开发的重要组成部分,同时也被JavaServer Faces (JSF)所采纳。EL允许开发者以简洁的方式获取和操作页面、请求、会话以及应用范围内的对象。 6-1 EL简介 EL的全称是Expression Language,它简化了从前在JSP中通过脚本let进行的数据访问。在早期,EL只能在JSTL标签内部使用,例如 `<c:out value="${3+7}">` 会输出10。然而,随着JSP 2.0的发布,EL可以直接在JSP页面中使用,如 `<p>Hi! ${username}</p>`。但请注意,对于仅支持Servlet 2.3/JSP 1.2的容器(如Tomcat 4.1.29),需要升级到支持Servlet 2.4/JSP 2.0的版本才能使用EL。 6-2 EL语法 EL的基本语法是以 `${}` 包围的表达式。例如 `${sessionScope.user.sex}` 表示从会话范围中获取用户对象的性别属性。与传统的JSP Scriptlet相比,EL提供了更简洁的写法,减少了代码量。 6-2-1 与[]运算符 EL提供了两种访问数据的方法:`.` 运算符和 `[]` 运算符。它们可以互换使用,如 `${sessionScope.user.sex}` 和 `${sessionScope.user["sex"]}` 都表示相同的意思。甚至可以混合使用,这提供了更大的灵活性。 6-3 EL隐含对象 EL包含一组隐含对象,如 `pageContext`、`request`、`response`、`session` 和 `application`,它们分别对应于JSP页面上下文中的相应对象。这些隐含对象使得开发者可以直接访问请求、响应、会话和应用级别的数据,而无需显式声明。 6-4 EL算术运算符 EL支持基本的算术运算符,如 `+`、`-`、`*`、`/` 和 `%`,用于进行数学计算。 6-5 EL关系运算符 关系运算符如 `==`、`!=`、`>`、`<`、`>=` 和 `<=` 可用于比较值。 6-6 EL逻辑运算符 EL提供了逻辑运算符 `&&`(逻辑与)、`||`(逻辑或)和 `!`(逻辑非),用于处理布尔表达式。 6-7 EL其他运算符 EL还支持其他运算符,如索引运算符 `[ ]` 和方法调用运算符 `.`,以及成员访问运算符 `.` 和 `[]` 的组合。 6-8 EL Functions EL允许使用函数库,这些函数通常由JSTL或其他库提供,例如 `${fn:trim(string)}` 可以用来去除字符串两端的空白。 EL极大地提高了JSP页面的可读性和可维护性,减少了JSP脚本的使用,使代码更加结构化和模块化。理解和熟练运用EL是每个JSP开发者必备的技能。