- 1
- 0
- 约2.6万字
- 约 17页
- 2020-08-21 发布于河北
- 举报
154
第十一章
将定制标记库
开发为标记文件
从JSP 规范2.0 版本以来,定制标记库动作可以采用两种方法实现:一种是作为Java 类,
另一种是作为包含有JSP 元素的常规文本文件。在以前的版本中,定制动作只能实现为
Java 类,这样非程序员在这方面就无能为力了。定制动作的Java 实现还存在一个问题,
即必须用println()调用打印出HTML 代码来生成复杂的内容,这正是JSP 所要解决的
问题。
在这一章中,我将介绍如何将定制动作开发为纯文本文件,以及如何将其打包为标记库
从而可以用于JSP 页面。
创建和使用标记文件
标记文件(tag file )是包含有JSP 元素的文本文件,这些JSP 元素实现了定制动作的功
能。必须使用.tag (注1 )文件扩展名,以使Web 容器能够识别(identify )此类文件。
JSP 文件中可以使用的所有JSP 元素都可以用于标记文件中,但page 指令除外(标记
文件不是页面)。还有一些JSP 指令只能用于标记文件,随后你就会了解到有关内容。除
此以外,创建一个标记文件与创建JSP 页面并无不同。标记文件一旦得到创建和安装,
类似于用Java 实现的定制动作(如前面章节所示),也能用同样的方式使用。
示例11-1 显示了一个非常简单的标记文件。
示例11-1:简单的标记文件(copyright.tag )
%@ tag body-content=empty %
%@ taglib prefix=c uri=/jsp/jstl/core %
注1: 如果采用XML 格式编写标记文件,如第十七章所述,则必须使用.tagx 扩展名。
170
155
将定制标记库开发为标记文件 171
jsp:useBean id=now scope=application class=java.util.Date /
Copyright copy; ${now.year + 1900} My Company
这个标记文件在调用页面中插入了一条版权声明语句,其中指出了当前年份。第一行是
一条tag指令。可以使用此指令的属性来指定描述、图标和示例,以便网页设计工具向
设计人员显示有关信息。利用其他一些属性还可以指定是否应当处理EL 表达式以及与
脚本代码相关的各种信息,也就是说,这些信息与JSP 页面中用page 指令指定的信息
属于同类信息。所有这些信息在附录一中都有介绍。
在大多数情况下,标记文件的作者只关心示例11-1 中所用的属性,即body-content。
这个属性定义了定制动作元素的体应当如何处理,它必须取以下值之一:empty 、
scriptless (默认)或tagdependent。如果取值为empty (如示例11-1 ),那么试图
使用定制动作元素的体将会导致一个语法错误。scriptless值表示体中可以包含任何
JSP元素,但除第十六章所述的脚本元素以外。换句话说,模板文本、EL表达式、标准
动作和定制动作都是允许的。随后你将看到,通过使用标准动作jsp:doBody,标记
文件可以指定容器在何时处理无脚本体中的动作,还可以对处理频度做出要求。如果
body-content属性设置为tagdependent,动作元素体则处理为纯模板文本(即体中
的动作元素和EL 表达式将不做处理,只是看做纯文本)。
示例11-1 中标记文件的余下部分看上去就像是一个普通的JSP 页面。它声明了在此
您可能关注的文档
最近下载
- 2025年一级建造师风险登记册在项目全生命周期中的应用专题试卷及解析.pdf VIP
- 《美学原理概要》课件.ppt VIP
- 2025年演出经纪人演出项目融资退出机制设计与法律安排专题试卷及解析.pdf VIP
- 2025年互联网营销师文案的“网感”与“社交货币”打造专题试卷及解析.pdf VIP
- 2025年演出经纪人演出经纪法律责任与权利义务边界专题试卷及解析.pdf VIP
- 基于联邦学习的跨机构医疗数据协作研究框架.pdf VIP
- 股份公司境外公司管理办法.doc VIP
- 2026苏教版高考化学一轮复习第30讲 有机物推断与合成(学用).doc
- 职业道德考试及答案.doc VIP
- 工勤职业道德考试及答案.doc VIP
原创力文档

文档评论(0)