快速业务通道

JSTL入门:表达式语言 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

文字

在 EL 表达式中,数字、字符串、布尔值和 null 都可以被指定为文字值。字符串可以用单引号或双引号定界。布尔值被指定为 true 和 false 。

Taglib 伪指令

正如我们先前讨论的,JSTL 1.0 包括四个定制标记库。为了演示 JSTL 标记和表达式语言的交互,我们将研究几个来自 JSTL core 库的标记。和使用任何 JSP 定制标记库一样,必须在您想要使用这个库标记的任何页面中包括 taglib 伪指令。清单 7 显示了用于这个特定库的伪指令。

清单 7. 用于 JSTL core 库 EL 版本的 taglib 伪指令

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

实际上,对应于 JSTL core 库的 taglib 伪指令有两种,因为在 JSTL 1.0 中,EL 是可选的。所有四个 JSTL 1.0 定制标记库都有使用 JSP 表达式(而不是 EL)指定动态属性值的备用版本。因为这些备用库依赖于 JSP 的更传统的请求时属性值,所以它们被称为 RT库,而那些使用表达式语言的则被称为 EL 库。开发人员用不同的 taglib 伪指令来区分每个库的这两个版本。清单 8 显示了使用 core 库的 RT 版本的伪指令。但是,由于现在我们讨论的重点是 EL,所以首先需要这些伪指令。

清单 8. 用于 JSTL core 库 RT 版本的 taglib 伪指令

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c_rt" %>

JSTL入门:表达式语言(5)

时间:2011-01-11

变量标记

我们首先要考虑的 JSTL 定制标记是 <c:set> 操作。正如已经说明的,限制了作用域的变量在 JSTL 中起关键作用, <c:set> 操作提供基于标记的机制来创建和设置限制了作用域的变量。清单 9 中显示了该操作的语法,其中 var 属性指定了限制了作用域的变量的名称, scope 属性表明了该变量驻留在哪个作用域中, value 属性指定了分配给该变量的值。如果指定变量已经存在,则简单地将所指明的值赋给它。如果不存在,则创建新的限制了作用域的变量,并用该值初始化这个变量。

清单 9. <c:set> 操作的语法

<c:set var="     name" scope="     scope" value="     expression"/>    

scope 属性是可选的,其缺省值是 page 。

清单 10 中显示了 <c:set> 的两个示例。在第一个示例中,将会话作用域变量设置成 String 值。在第二个示例中,用表达式来设置数值:将页面作用域内名为 square 的变量赋值为名为 x 的请求参数的值的平方。

清单 10. <c:set> 操作示例

<c:set var="timezone" scope="session" value="CST"/> <c:set var="square" value="${param[''x''] * param[''x'']}"/>

您还可以将限制了作用域的变量的值指定为 <c:set> 操作的主体内容,而不是使用属性。使用这种方法,您可以重新编写清单 10 中的第一个示例,如清单 11 所示。此外,正如我们马上可以看到的, <c:set> 标记的主体内容本身也可以使用定制标记。 <c:set> 主体内生成的所有内容都将作为一个 String 值赋给指定变量。

清单 11. 通过主体内容指定 <c:set> 操作的值

<c:set var="timezone" scope="session">CST</c:set>

JSTL core 库包含第二个用于管理限制了作用域的变量的标记 ― <c:remove> 。顾名思义, <c:remove> 操作是用来删除限制了作用域的变量的,它获取两个属性。 var 属性指定待删除变量的名称, scope 属性是可选的,它表示待删除变量来自哪个作用域,缺省为 page ,如清单 12 所示。

清单 12. <c:remove> 操作示例 <c:remove var="

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号