EL表达式

EL(Expression Language): 表达式语言
在JSP2.0之后,EL正式纳入标准,只要是支持Servlet2.4/JSP2.0的容器,可以直接在JSP页面中使用EL
EL语法简单,使用方便,在很多地方可代替JSP标签

  • 输出page、request、session、application范围的数据(无注明不打印)
    通过pageContext对象可以访问到 application、session、request 等对象
    在这里插入图片描述
  • EL是一个完全独立的拥有操作符、语法和保留字的编程语言
    EL没有变量声明,标志为${ }
  • EL隐含对象有11个,与JSP的9个隐含对象区分开
    – 与范围有关的
    applicationScope: sessionScope: requestScope: pageScope:
    – 与输入有关的
    param:(请求参数对象) paramValues:(所有请求参数对象)
    在这里插入图片描述在这里插入图片描述
  • 其他隐含对象
    cookie: header: headerValues: initParam: pageContext
    EL表达式不能调用方法
    在这里插入图片描述

EL变量

EL存取变量数据的方法很简单,如${user}
–意思是取出某一范围中名称为user的变量
在这里插入图片描述
必须设置范围

  • 默认的范围查找顺序(自动搜索顺序)
    – Page --> Request --> Session --> Application
  • 也可以指定范围

变量命名不得使用EL保留字

运算符

属性访问运算符.

– ${a.b} //a对象的b属性

集合访问运算符[]

– ${ a[“b”]} //集合a的 关键字为b所指向的元素
– ${sessionScope.user.sex} 等价于 $ {sessionScope.user[“sex”] }
两者也可混合使用
当要存取的属性名称中包含一些特殊字符,象”.”或”-”等并非字母或数字的符号,一定要用[],如
– $ {user.My-Name}应写为 $ {user[“My-Name”]}
如想动态的取值时,也要使用[],如
– ${user[data]},data相当于一个变量

算数运算符

在这里插入图片描述

关系运算符

在这里插入图片描述

逻辑运算符

在这里插入图片描述

其他运算符
  • empty: 判断值是否为null或空的
    ${ empty param.name}
  • 条件运算符: 三元运算符,A? B:C
    也就是当A为true时,执行B,否则执行C
    ${A? B:C}
  • 括号运算符: 用来改变执行优先权
    ${A *(B+C)}

自定义EL函数

  • 编写方法所在源文件 .java文件 —— 该文件包含EL函数实现
    方法声明为public、static
    在这里插入图片描述
  • 编写标签库描述符 .tld文件 —— 定义EL函数名
    • < taglib>< /taglib>根元素,并添加< tlib-version>1.0< /tlib-version>
    • < function>< /function>必须成对出现
    • < name>< /name>用于指定EL语言函数名称
    • < function-class></ function-class>用于指定Java方法所在的类名
    • < function-signature>< /function-signature>用于指定静态方法及其参数和返回类型
    在这里插入图片描述
    • tld文件通常放在/WEB-INF子目录下
  • 修改部署描述符 web.xml文件 —— 定义标签库描述符地址
    •< jsp-config>中加入< taglib>< /taglib>标签
    •< taglib-uri></ taglib-uri>用于描述JSP文件中使用的标签库描述符的URI地址
    •< taglib-location>< /taglib-location>用于描述标签库描述符的实际物理位置
    在这里插入图片描述
  • 编写JSP文件 .JSP文件 —— 使用EL函数
    • 使用taglib指令访问tld文件,并添加一个代表标签库的前缀名
    <%@ taglib uri="/Functions" prefix=“el” %> uri和< taglib-uri>中相同
    • 使用tld前缀和函数名创建EL的表达式,使用正确数据类型参数
    ${el:upper(param.userName)}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值