jstl标签—搜集reserch

JSP API 通过 <jsp:usebean></jsp:usebean>操作允许从 JSP 容器内的四个不同作用域中存储和检索数据。JSTL 通过提供用于指定和除去这些作用域中的对象的附加操作来扩展这一能力。此外,EL 提供将这些对象作为限制了作用域的变量进行检索的内置支持。特别地,任何出现在 EL 表达式中但不对应于任何 EL 隐式对象的标识符,都被自动假定为引用存储在四个 JSP 作用域的其中某个中的对象,这四个作用域是:

  • 页面作用域
  • 请求作用域
  • 会话作用域
  • 应用程序作用域

 1. EL 隐式对象

类别 标识符 描述
JSPpageContext PageContext 实例对应于当前页面的处理
作用域pageScope 与页面作用域属性的名称和值相关联的 Map
requestScope 与请求作用域属性的名称和值相关联的 Map
sessionScope 与会话作用域属性的名称和值相关联的 Map
applicationScope 与应用程序作用域属性的名称和值相关联的 Map
请求参数param 按名称存储请求参数的主要值的 Map
paramValues 将请求参数的所有值作为 String 数组存储的 Map
请求头header 按名称存储请求头主要值的 Map
headerValues 将请求头的所有值作为 String 数组存储的 Map
Cookiecookie 按名称存储请求附带的 cookie 的 Map
初始化参数initParam 按名称存储 Web 应用程序上下文初始化参数的 Map

2. EL 运算符

类别 运算符
算术运算符+-*/ (或 div )和 % (或 mod
关系运算符== (或 eq )、 != (或 ne )、 < (或 lt )、 > (或 gt )、 <= (或 le )和 >= (或 ge
逻辑运算符&& (或 and )、 || (或 or )和 ! (或 not
验证运算符empty

表 3. EL 运算符优先级(自顶到底,从左到右)

[] , .
()
unary -not!empty
*/div%mod
+ 、binary -
() <><=>=ltgtlege
==!=eqne
&&and
||or

对这些对象的特性或(在对象是数组和集合的情况下)对其元素的访问通常是令人满意的。就为了实现这种用途,EL 提供了两种不同的存取器(点运算符( . )和方括号运算符( [] )),也支持通过 EL 操作特性和元素。

点运算符通常用于访问对象的特性。例如,在表达式 ${user.firstName} 中,使用点运算符来访问 user 标识符所引用对象的名为 firstName 的特性。EL 使用 Java bean 约定访问对象特性,因此必须定义这个特性的 getter 方法(通常是名为 getFirstName() 的方法),以便表达式正确求值。当被访问的特性本身是对象时,可以递归地应用点运算符。例如,如果我们虚构的 user 对象有一个实现为 Java 对象的 address 特性,那么也可以用点运算符来访问这个对象的特性。例如,表达式 ${user.address.city} 将会返回这个地址对象嵌套的 city 特性。

方括号运算符用来检索数组和集合的元素。在数组和有序集合(也即,实现了 java.util.List 接口的集合)的情况下,把要检索的元素的下标放在方括号中。例如,表达式 ${urls[3]} 返回 urls 标识符所引用的数组或集合的第四个元素(和 Java 语言以及 JavaScript 中一样,EL 中的下标是从零开始的)。

清单 1. 组合静态文本和多个 EL 表达式以指定动态属性值
<c:out value="Hello ${user.firstName} ${user.lastName}"></c:out>
<c:out value="${user.firstName}"/>
清单 2. 说明 EL 表达式定界符的 JSTL 操作
<c:out value="${user.firstName}"></c:out>
<c:out value="Hello ${user.firstName} ${user.lastName}"/>


清单 3. 利用算术运算符的 EL 表达式
${item.price * (1 + taxRate[user.address.zipcode])}

清单 4. 利用关系和逻辑运算符的 EL 表达式
${(x >= min) && (x <= max)}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值