JAVA SCWCD认证:ClassicTag详解与生命周期
需积分: 0 50 浏览量
更新于2024-09-11
收藏 82KB DOC 举报
"JAVA_scwcd_認證部份筆記主要涵盖了Java Servlet和JSP Custom Tags的相关知识,包括Classic Tag的实现步骤、TLD(Tag Library Descriptor)的编写以及Custom Tag生命周期的基本流程。"
在Java Web开发中,SCWCD(Servlet and JSP Certified Web Component Developer)认证是针对Servlet和JSP技术的专业资格考试。这部分笔记主要讨论了Custom Tag的实现,这是一种自定义JSP标签的方法,用于扩展JSP语言的功能。
Classic Tag是Custom Tag的一种传统实现方式,它需要开发者完成一系列步骤来创建和使用。首先,你需要编写Tag Handler,这通常意味着实现`Tag`、`IterationTag`或`BodyTag`接口,并可能继承`TagSupport`或`BodyTagSupport`类。接着,创建TLD文件,这是一个XML文档,用来描述你的自定义标签及其属性。TLD文件中包含了标签的名称、类路径、属性定义等信息。例如:
```xml
<taglib>
<short-name>ex</short-name>
<uri>http://www.manning.com/scwcd/example</uri>
<tag>
<name>example</name>
<tag-class>com.example.web.EJBHandler</tag-class>
<body-content></body-content>
<attribute>
<name>attribute1</name>
<required>true/false/yes/no</required>
<rtexprvalue>true/false</rtexprvalue>
</attribute>
</tag>
</taglib>
```
创建完TLD后,有两种方式让JSP容器识别这个标签库:隐式(将TLD放入WEB-INF/lib目录下的jar文件的META-INF,或者直接放在WEB-INF目录下)或显式(通过web.xml配置文件进行映射)。最后,在JSP页面中使用`<%@taglib prefix="myTag" uri="..."%>`引入标签库。
Custom Tag的生命周期包含以下步骤:
1. `setPageContext()`: 设置与当前请求关联的PageContext对象,提供对JSP上下文的访问。
2. `setParent()`: 如果需要,设置父标签(如在嵌套标签中)。
3. `setAllAttributes()`: 如果需要,设置标签属性值。
4. `doStartTag()`: 开始处理标签,返回EVAL_BODY_INCLUDE表示继续处理JSP体,SKIP_BODY表示跳过JSP体,EVAL_BODY_BUFFERED表示缓存JSP体以备后用。
5. `setBodyContent(BodyContent bodyContent)`(仅在BodyTag时使用): 设置用于存储JSP体内容的对象。
6. `doInitBody()`(仅在BodyTag时使用): 初始化处理JSP体的准备。
7. `doAfterBody()`(仅在IterationTag时使用): 在每次遍历JSP体后调用,决定是否继续遍历。
8. `doEndTag()`: 标签结束时调用,返回EVAL_PAGE表示继续处理JSP页,SKIP_BODY表示跳过剩余的JSP体。
这些步骤详细描述了Custom Tag如何在JSP页面中执行和交互,对于理解自定义标签的工作原理和开发自定义标签库至关重要。对于准备SCWCD认证的开发者来说,熟悉这些概念和技术是非常重要的。
2009-08-27 上传
2013-04-13 上传
2009-08-01 上传
2009-12-15 上传
2009-12-28 上传
2009-06-26 上传
2010-02-28 上传
2012-02-19 上传
2010-11-02 上传
evelit
- 粉丝: 0
- 资源: 1
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜