day15--使用传统模式和简单模式开发标签,简单标签开发案例,使用JSTL核心标签库.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在Java Web开发中,JSP标签库(Tag Library)是提高代码可维护性和可读性的重要工具。本篇主要讨论两种模式下开发自定义标签:传统模式和简单模式,并涉及JSTL(JavaServer Pages Standard Tag Library)的核心标签库的使用。 **一、传统标签开发模式** 1. **标签接口与执行流程** - 标签接口通常是`javax.servlet.jsp.tagext.Tag`,它定义了六个关键方法:`setPageContext()`、`setParent()`、`doStartTag()`、`doEndTag()`、`release()`。 - `setPageContext()` 传递页面的`PageContext`对象,允许访问其他八大隐含对象。 - `setParent()` 设置父标签,无父标签时传入`null`。 - `doStartTag()` 在遇到开始标签时执行。 - `doEndTag()` 遇到结束标签时执行。 - `release()` 用于释放资源。 2. **执行流程** - 用户请求JSP页面,服务器将其转换为Servlet,执行过程中遇到自定义标签,会创建对应的标签处理器实例。 - 标签处理器接收`PageContext`对象和父标签,然后执行开始和结束标签的方法。 3. **开发步骤** - 创建一个类继承`TagSupport`,重写需要的方法,如`doStartTag()`。 - 在`WEB-INF`目录下创建`.tld`文件,定义标签的元数据,包括标签名字、处理器类、属性等。 - 在JSP页面中通过`<%@ taglib %>`导入标签库。 4. **自定义标签的作用** - 移除JSP中的Java代码,提高可读性。 - 控制内容是否输出、页面是否执行、内容重复输出。 - 修改内容输出方式。 **二、简单标签模式开发** 1. **执行过程** - 实例化实现`javax.servlet.jsp.tagext.SimpleTag`接口的类。 - `setJspContext()` 传递`PageContext`对象。 - `setParent()` 传递父标签处理器(如有)。 - 属性值通过setter方法传递给标签处理器。 2. **区别于传统模式** - 简单标签模式无需实现完整的生命周期方法,只需实现`doTag()`方法,更简洁。 - 容器负责调用`setJspBody()`方法设置标签体,允许开发者直接操作`JspWriter`。 **三、JSTL核心标签库** JSTL是标准的JSP标签库,包含多个部分,其中核心库(core)提供了许多实用的功能,如条件判断、循环、URL处理等。例如: - `<c:if>` 用于条件判断。 - `<c:forEach>` 进行循环操作。 - `<c:set>` 设置变量。 - `<c:out>` 输出内容,对特殊字符进行转义。 使用JSTL可以使JSP页面更加简洁,减少Java脚本的使用,提升代码的可读性和可维护性。 总结来说,自定义JSP标签是提高代码结构和复用性的有效手段,传统模式和简单模式各有优缺点,可以根据实际需求选择。同时,JSTL核心标签库提供了丰富的功能,是Java Web开发中的必备工具。
剩余25页未读,继续阅读
- 粉丝: 0
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (175128050)c&c++课程设计-图书管理系统
- 视频美学多任务学习中PyTorch的多回归实现-含代码及解释
- 基于ssh员工管理系统
- 5G SRM815模组原理框图.jpg
- T型3电平逆变器,lcl滤波器滤波器参数计算,半导体损耗计算,逆变电感参数设计损耗计算 mathcad格式输出,方便修改 同时支持plecs损耗仿真,基于plecs的闭环仿真,电压外环,电流内环
- 毒舌(解锁版).apk
- 显示HEX、S19、Bin、VBF等其他汽车制造商特定的文件格式
- 操作系统实验 Ucore lab5
- 8bit逐次逼近型SAR ADC电路设计成品 入门时期的第三款sarADC,适合新手学习等 包括电路文件和详细设计文档 smic0.18工艺,单端结构,3.3V供电 整体采样率500k,可实现基
- 操作系统实验 ucorelab4内核线程管理