EL表达式

本文深入讲解了EL表达式的基础操作符,包括算术、逻辑运算及特殊操作符的使用,探讨了如何通过pageContext对象访问servletContext、request、response和session等对象,并介绍了param、paramValues、header和headerValues对象的用途,以及如何定义和调用JSPEL中的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EL中的基础操作符

EL表达式支持大部分Java所提供的算术和逻辑操作符:

操作符描述
.访问一个Bean属性或者一个映射条目
[]访问一个数组或者链表的元素
( )组织一个子表达式以改变优先级
+
-减或负
*
/ or div
% or mod取模
== or eq测试是否相等
!= or ne测试是否不等
< or lt测试是否小于
> or gt测试是否大于
<= or le测试是否小于等于
>= or ge测试是否大于等于
&& or and测试逻辑与
|| or or测试逻辑或
! or not测试取反
empty测试是否空值

JSP EL隐含对象

pageContext对象

通过pageContext获取servletContext,request,response,session等对象

格式

${pageContext.request.queryString}

param和paramValues对象

param和paramValues对象用来访问参数值,通过使用request.getParameter方法和request.getParameterValues方法

${param.order},或者${param["order"]}。

 

header和headerValues对象

header和headerValues对象用来访问信息头,通过使用 request.getHeader方法和request.getHeaders方法

${header.user-agent},或者${header["user-agent"]}。

 

获取隐式作用域对象中保存的属性

${user.name}按照pageScope,requestScope,sessionScope,applicationScope的顺序查找

 

JSP EL中的函数

定义函数

  定义一个类,创建静态方法(函数)

  在WEB-INF/tlds下创建tld文件

  引用并调用

  

${ns:func(param1, param2, ...)}

ns指的是命名空间(namespace),func指的是函数的名称,param1指的是第一个参数,param2指的是第二个参数,以此类推

 

<taglib>
   <tlib-version>1.0</tlib-version>
   <jsp-version>1.2</jsp-version>
   <uri>http://com.tanlei.functions/myfun</uri>
   <function>
      <name>hi</name>
      <function-class>com.tanlei.fun.myfun</function-class>
      <function-signature>
        java.lang.String hi(java.lang.String)
      </function-signature>
   </function>
</taglib>

 

<%@ taglib perfix="fun" uri="http://com.tanlei.functions/myfun" %>

 

${fun:hi("Get my length")}

 

转载于:https://www.cnblogs.com/tanlei-sxs/p/10073815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值