EL表达式使用

以下是总结jsp中el表达式的使用【总结来自jsp api】

 

 

EL表达式用法总结  

1.EL特点
  (1)
对象的简明访问
  (2)
对象属性的简单表示
  (3)
对集合元素的简单访问
  (4)
对请求参数、cookie和其他请求参数的简洁访问
  (5)EL
定义了一个运算符的集合
  (6)
支持条件输出
  (7)
自动类型转换
  (8)
空值代替异常

2.EL语法
 
一般形式:${expression}

  2.1 EL 变量范围
      (1)
如果没有指定变量的有效范围,JSP容器会默认依次在pageScope,requestScope,sessionScope
         applications
所对应的有效范围中查找,找到就返回变量的值,否则返回null
      (2)
也可以为变量指定查找的范围,如${sessionScope.userName}
  2.2 EL
关键字

      EL
保留关键字共有16个:and(&&)eq(==)gt(>)trueinstanceofnulldiv(/)or(||)
      ne(!=)
lt(<)not(!)falsele(<=)emptymod(%)
  2.3
访问运算符.[]
      (1)${person.name}
      (2)${person["name"]}
          ${list[0]}         //
数组或List等可以用下标取值

          ${list[v]}         // v
是一个变量,这样可以动态取值
      (3)${list[0].name}    //.
[]可以结合使用
  2.4
运算
      (1)
算术运算符:+,-,*,/(div),%(mod),-(负号),()(括号运算)
      (2)
关系运算符:
<,>,<=,>=,==,!=
      (3)
逻辑运算:
!(not),&&(and),||(or)
      (4)empty
运算:如果操作数值为null或操作数本身是一个空容器、空数组或长度为0的字符串,则返回true

        
如:${empty ""}                    //返回true
                ${empty "EL
表达式"}     //返回
false
                ${empty null}                //
返回
true
  2.5
自动类型转换

      EL
表达式中自动类型转换规则如下:
      (1)Object
转换为String
          
Object为数值型时,依其值直接转换,如100.121转换为
"100.121"
         
Objectnull时,返回空字符串
""
         
Object.toString()产生异常时,出错,否则返回
Object.toString()
      (2)Object
转换为数值

          
Objectboolean型时,出错
          
Objectnull时,返回0
         
Object为空字符串""时,返回
0
          
Object为字符串时,若该字符串可以转换成数值,则返回数值,否则出错

  

  3. EL隐含对象
     EL
共有11个隐含对象:pageContextparamparamValueheaderheaderValuescookieinitParam
                         pageScope
requestScopesessionScopeapplicationScope

 

### 如何使用JSP EL表达式 #### 定义与作用 EL(Expression Language),即表达式语言,在JSP 2.0版本被引入,旨在提供一种更简便的方式用于访问数据源中的对象属性以及执行简单操作。通过这种方式不仅能够减少编写脚本元素的需求,还能让页面结构更加清晰易读[^2]。 #### 基础语法 EL表达式的书写形式是以`${}`包围起来的内容。其中可以包含变量名、数组索引、集合路径等,用来获取相应范围内的值。例如: ```html ${user.name} <!-- 获取名为"user"的对象的"name"属性 --> ``` 当涉及到算术运算或其他类型的处理时,则可以直接在大括号内部完成计算: ```html ${item.price * item.quantity} ``` 对于复杂的数据检索需求,比如遍历列表或映射表,也可以利用点`.`或者方括号`[]`来进行导航查询: ```html <!-- 访问List中第一个元素的名字 --> ${users[0].name} <!-- 或者使用map key作为下标 --> ${person['address']} ``` #### 自定义函数的应用 除了基本的功能外,还可以创建自己的EL函数以便于重复调用某些特定业务逻辑。这通常涉及以下几个步骤: 1. 编写Java类实现所需功能; 2. 创建TLD文件描述这些方法签名; 3. 将上述资源部署到Web应用里; 4. 在目标JSP文档顶部声明新标签库; 5. 调用已注册的方法。 具体来说就是像这样引入并运用自定义工具集: ```jsp <%@ taglib uri="http://example.com/functions" prefix="fn"%> ... <p>Formatted date: ${fn:convertDate(someDate)}</p> ``` 这里假设有一个叫做`convertDate()`的日志格式转换器存在于外部jar包内,并且已经被正确配置到了项目的classpath之下[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值