JSP2.0教程:深入理解Expression Language(EL)

需积分: 10 2 下载量 184 浏览量 更新于2024-07-20 收藏 645KB PDF 举报
"EL手册-JSP" Expression Language (EL) 是一种在JSP中用于简化数据访问的语言,它在JSP 2.0版本后成为标准规范。EL最初是作为JSTL 1.0的一部分,用于方便地存取数据。在早期,它只能在JSTL标签内部使用,但随着JSP 2.0的推出,EL可以直接在JSP页面中使用,无需再局限于特定的标签库。 **6-1 EL简介** EL的全称是Expression Language,它提供了一种简洁的方式来访问和操作存储在不同作用域(如page, request, session, application)中的数据。由于其简单易用的特性,EL在JSP 2.0及后续版本中被广泛采用,并且在JavaServer Faces (JSF) 规范中也被采纳。如果使用的容器仅支持Servlet 2.3和JSP 1.2,如Tomcat 4.1.29,那么就需要升级到支持Servlet 2.4和JSP 2.0的容器才能使用EL。 **6-2 EL语法** EL的基本语法形式是 `${expression}`,其中`expression` 是要执行的表达式。例如, `${sessionScope.user.sex}` 会从session作用域中获取名为`user`的对象的`sex`属性。相比于传统的JSP Scriptlet,EL提供了更简洁的代码结构,如上面的例子所示,EL比使用Scriptlet直接获取和显示属性的方式更为便捷。 **6-2-1 与[]运算符** EL提供了两种访问数据的方法:`.`运算符和`[]`运算符。两者都可以用来获取对象的属性或数组元素。例如,`${sessionScope.user.sex}` 和 `${sessionScope.user["sex"]}` 是等价的,都用于获取`user`对象的`sex`属性。这种灵活性允许开发者根据需要选择更合适的访问方式,甚至可以混合使用,如 `${sessionScope.user[“properties”].name}`,这会先通过`[]`获取`properties`属性,然后通过`.`获取`name`属性。 **6-3 EL隐含对象** EL还包含一些隐含对象,如`pageContext`、`request`、`session`和`application`,它们分别对应于JSP的四个作用域。这些隐含对象可以直接在EL表达式中使用,无需显式声明,大大简化了对这些作用域中数据的访问。 **6-4 EL算术运算符** EL支持基本的算术运算符,如加 (+)、减 (-)、乘 (*)、除 (/) 和模 (%),可以用于进行数值计算。 **6-5 EL关系运算符** 关系运算符如 `==`、`!=`、`<`、`>`、`<=` 和 `>=` 可以比较两个值,用于条件判断。 **6-6 EL逻辑运算符** 逻辑运算符包括 `&&`(逻辑与)、`||`(逻辑或)和 `!`(逻辑非),用于组合条件表达式。 **6-7 EL其他运算符** EL还提供了其他运算符,如 `[]` 用于访问数组或集合的元素,`.` 用于访问对象的属性,以及 `()` 用于调用方法。 **6-8 EL Functions** EL还可以调用预定义或自定义的函数,这些函数通常由函数库提供,如JSTL的fmt、fn等标签库,增强了EL的功能性。 通过以上内容,我们可以看到EL在JSP开发中的强大作用,它极大地提高了代码的可读性和维护性,使得JSP页面更加专注于视图的展示,而将业务逻辑移至后台处理。
2007-12-24 上传