当前位置: 网学 > 编程文档 > JSP > 正文

使用 JSP 2.0 开发类似 JSTL 的标记

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
在 Web 页中使用 Java 代码。      [Page]
   
我的上一篇 Oracle 技术网 (OTN) 文章“使用 JSP 2.0 EL API”介绍了简单标记 API 的另一个限制并提供了变通方法。JspContext 类未提供对 JSP 隐式对象(如application、session、request 和 response)的访问。大多数应用服务器(包括 Oracle Application Server Containers for J2EE (OC4J) 10g)允许将 JSP 上下文转换为 PageContext     
   
标记处理类不适用于使用 println() 语句生成大量可重用的 HTML 代码。JSP 2.0 为此工作提供了一个更好的方法。所谓的标记文件使用 JSP 语法并由 JSP 容器自动转换为基于简单标记 API 的标记处理类。我的另一篇 OTN 文章“创建 JSP 2.0 标记文件”介绍了这个 JSP 新特性。     
   
导出变量的标记     
   
许多 JSTL 标记实现某个逻辑并导出 JSP 变量以报告结果。例如,<sql:query> 包含一个 var 属性,该属性必须指定用于保存 SQL 结果集的 JSP 变量的名称。var 属性对其他 JSTL 标记(如 <fmt:formatNumber> 和 <fmt:formatDate>)来说是可选的。如果 var 属性不存在,则这些标记将输出它们的结果。所有包含 var 属性的标记还包含一个 scope 属性,该属性可用于指示以下 JSP 变量的作用域:page、request、session 或 application。     
   
VarTagSupport 类(它是为本文开发的一个示例)扩展 SimpleTagSupport 并为 var 和 scope 属性提供设置方法。VarTagSupport 包含用于导出 JSP 变量、获取主体内容和输出内容的实用方法,而不是实现 doTag() 方法。这些方法由 VarTagSupport 的子类在 doTag() 中使用。本文包含四个用于扩展 VarTagSupport 的标记处理类(EvalTag、MapTag、ListTag 和 ItemTag)。     
   
请注意,JSP 变量在 JSTL 规范中称作范围变量,而在 JSP 规范中称作具名变量或范围属性。这些变量通过 JspContext 类的 setAttribute() 方法创建/导出。您可以在 JSP 页面中使用 ${varName},以及在 Java 代码中使用 JspContext 的 getAttribute() 或 findAttribute() 方法取得它们的值。不要混淆 JSP 变量与标记属性。     
    [Page]
实现属性设置方法     
   
JSP 容器调用属性设置方法,将标记属性的值传递给定制标记处理类。VarTagSupport 的 setVar() 方法将 var 属性的值存储在受保护的实例变量 (varName) 中。setScope() 方法将它的参数转换为整数常数。如果该参数包含有效值(page、request、session 或 application),则将此整数常数存储在另一受保

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号