JSTL简化JSP编码
2008-02-23 09:26:23来源:互联网 阅读 ()
随着J2EE瘦客户机技术JavaServer Pages(JSP)在过去几年中的流行,独立开发人员已经创建了许多自定义的JSP标记库。虽然很多标记库是编写用来实现不同目标的,但它们往往也对迭代、条件及其他通用操作都提供了类似的解决方案。
为了减少对解决类似通用问题的独立标记库的需求,在Java Community Process(JSR 52)的赞助下创建了JSTL(JavaServer Pages Standard Tag Library,JSP)标准标记库,为解决这些通用功能提供一个单一的标准解决方案。
JSTL库
JSTL特别为条件处理、迭代、国际化、数据库访问和可扩展标记语言(XML)处理提供支持。JSTL还引入了expression language(EL,表达式语言),极大地简化了对JSP中应用数据的访问和操作。JSTL包括4个JSP 1.2自定义标记库,每一个都涵盖了一个特定的功能领域。
核心(Core)标记库为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件以及其他操作(如导入和重定向Web内容)。
XML标记库提供了对XML处理和操作的支持,包括XML节点的解析、迭代、基于XML数据的条件评估以及可扩展样式表语言转换(Extensible Style Language Transformations,XSLT)的执行。
国际化(Internationalization)标记库支持多语种的应用程序。
数据库(Database)标记库对访问和修改数据库数据提供标准化支持。
JSTL入门
初步了解JSTL的最好方法是访问Apache网站--jakarta.apache.org,并下载JSTL的参考实现。在Apache站点还可找到详细的安装指南。可下载的参考实现是一个JAR文件、文档和简单代码示例的组合包。
要在你的J2EE Web应用程序中使用JSTL,只需简单地将"lib"目录下的JSTL JAR文件复制到你应用程序的WEB-INF/lib目录下。要在一个特定的JSP中使用JSTL标记,你还必须提供一个taglib指令。例如,要将"核心"JSTL库导入到你的页面中,你应该在你的JSP顶端包含下面的指令,如下所示:
<%@ taglib uri="http://java.sun.com /jstl/core" prefix="c" %>
JSTL的EL支持
JSTL的一个重要优势是它采用了简单的expression language(EL),该语言提供一个访问和操作应用程序数据(如存储在Servlet上下文中的数据)的简单方式。
EL的语法很简单,而且比Java中具有相同功能的表示要对用户更为友好。例如, pageContext.getAttribute("aName")表达式在EL中就成了${aName}。所有的JSTL标记在其属性值中都使用EL表达式。EL表达式在访问嵌套属性时使用${Java.expression}或${ data.reference}格式。数据参考可以是对象及其属性或者对象及其属性数组:
${myobject.property}
数组存取操作符也用于以索引元素集合显示的数据,如Java数组或java.util.List:
${myList[2]}$
在EL表达式中除了可以使用属性和数组元素操作符以及算术、关系和逻辑操作符以外,你还可以使用特别操作符来测试对象是否为空。
除了对象和数组存取,EL还提供了一个完整的常用操作符集合,包括=、!、<、>、<=、>=、 、-、*、/等。
在任何JSP范围(页面、请求、会话或应用程序)中的对象都可以在EL表达式中引用。例如,如果你有一个带有一个属性"Ename"的Java bean--Employee,那么可以用EL表达式${Employee.Ename}访问这个变量。
除了显式变量,EL还提供了对隐式变量的请求和应答对象中的隐式变量的直接访问。例如,以下语句将访问一个名为"empname"的请求参数:
${param.empname}
即将推出的JSP 2.0和JSTL 1.0都使用EL。然而,JSP 2.0中使用的EL稍有一点不同。JSTL专家组(JSR-052)已经同意在即将推出的JSTL维护版中使用EL的JSP 2.0版本。
使用JSTL核心标记库
JSTL核心标记库为诸如显示、迭代和设置变量等操作提供了最常用的标记。下面,我们更详细地介绍一些最常用的JSTL核心标记库。首先,在使用任何JSTL核心标记之前,你需要将以下指令添加到你的JSP中:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:JSR 168 翻译02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash