### EL表达式大全 #### 一、EL表达式概述 EL(Expression Language)是一种简洁的表达方式,用于访问JavaBean属性。它简化了原本复杂的Java代码,并且可以在JSP页面中方便地使用。 ##### 1. 语法结构 EL表达式的语法结构非常简单: ``` ${expression} ``` 其中`expression`可以是任何有效的表达式,包括但不限于变量名、算术运算、逻辑运算等。 ##### 2. 运算符 EL提供了`.`和`[]`两种运算符来存取数据。 - **`.`运算符**:用于访问对象的属性或方法。 - 示例:`${user.name}` - **`[]`运算符**:同样用于访问对象的属性或方法,但更灵活,可以处理包含特殊字符的属性名。 - 示例:`${user["My-Name"]}`,其中`"My-Name"`包含非字母数字字符。 - **动态取值**:`[]`运算符还可以用于动态取值。 - 示例:`${sessionScope.user[data]}`,这里的`data`是一个变量。 ##### 3. 变量范围 EL表达式在查找变量时会遵循一定的顺序:Page -> Request -> Session -> Application。如果没有找到相应的变量,则返回`null`。 - **Page Scope**:`pageScope` - **Request Scope**:`requestScope` - **Session Scope**:`sessionScope` - **Application Scope**:`applicationScope` #### 二、EL表达式的用途 EL表达式广泛应用于JSP页面中,用于替代复杂的Java代码,使得页面更加清晰易读。 - **语法格式**:EL表达式通常用`${}`括起来,可以在所有HTML和JSP标签中使用。 - **操作对象**:EL表达式不仅可以操作常量和变量,还可以操作隐式对象,如`${param}`和`${paramValues}`。 - **禁用设置**:可以通过`<%@ page isELIgnored="true"%>`来禁用EL语言,其默认值为`false`。 - **逻辑运算**:EL支持逻辑运算、关系运算以及算术运算,如`true and false`的结果是`false`,`5 > 6`的结果也是`false`,而`5 + 5`的结果是`10`。 - **变量搜索范围**:EL在查找变量时会依次搜索Page、Request、Session和Application范围,直到找到为止。 #### 三、EL隐含对象 EL隐含对象是指EL表达式可以直接访问的对象,无需显式声明。 ##### 1. 与范围相关的隐含对象 - **pageScope**:代表当前页面的作用域。 - **requestScope**:代表当前请求的作用域。 - **sessionScope**:代表当前会话的作用域。 - **applicationScope**:代表整个应用程序的作用域。 例如,要获取存储在会话中的`username`值,可以使用`${sessionScope.username}`。 ##### 2. 与输入相关的隐含对象 - **param**:用于获取单个请求参数的值。 - **paramValues**:用于获取多个请求参数的值。 例如,获取请求参数`name`的值,可以使用`${param.name}`;如果参数`name`有多个值,则使用`${paramValues.name}`。 ##### 3. 其他隐含对象 - **cookie**:用于访问HTTP Cookie的值。 - 示例:`${cookie.userCountry.value}`用于获取名为`userCountry`的Cookie值。 - **header**:用于访问HTTP头部信息。 - 示例:`${header["User-Agent"]}`用于获取用户代理(浏览器类型)信息。 - **headerValues**:如果某个头部有多值,则使用此对象。 - **initParam**:用于访问初始化参数。 - 示例:`${initParam.userid}`用于获取名为`userid`的初始化参数值。 - **pageContext**:虽然EL不直接提供对`pageContext`的操作,但它是一个重要的隐含对象,用于获取页面上下文的相关信息。 通过上述介绍可以看出,EL表达式及其隐含对象极大地简化了JSP页面的开发工作,提高了开发效率,同时保持了代码的整洁性和可读性。
剩余18页未读,继续阅读
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助