java 自定义标签的解读: 书写tld文件《此tld文件写上文件的头,版本号<tlib-veision>,和页面的访问短名称<short-name>》。 <?xml version="1.0" encoding="UTF-8"?> <taglib version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"> <tlib-version>1.0</tlib-version> <short-name>jsps</short-name> <tag> <name>aaaa</name> <tagclass>com.Syste</tagclass> <bodycontent>JSP</bodycontent> </tag> </taglib> Java自定义标签是JavaServer Pages (JSP)技术的一个强大特性,允许开发者创建可重用的自定义组件,以提高代码的复用性和可维护性。以下是对自定义标签的详细解释,包括如何创建TLD文件、实现标签处理类以及在JSP页面中使用自定义标签。 1. TLD(Tag Library Descriptor)文件: TLD文件是定义自定义标签的元数据的地方,它告诉JSP引擎标签的行为、名称和实现。在示例中,TLD文件的开头声明了XML版本和编码,接着定义了`taglib`元素,其中`tlib-version`表示TLD文件的版本,`short-name`是简短的库名。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <taglib version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"> <tlib-version>1.0</tlib-version> <short-name>jsps</short-name> ... </taglib> ``` 其中,`<tag>`元素定义了一个名为`aaaa`的自定义标签,其对应的Java类是`com.Syste`,`bodycontent`属性指示该标签支持JSP正文内容。 2. 标签处理类: 自定义标签的逻辑通常在Java类中实现,该类必须扩展`javax.servlet.jsp.tagext.BodyTagSupport`类(或者根据需要扩展其他TagSupport子类)。在示例中,类`Syste`实现了`doEndTag()`方法,用于在标签结束时处理内容。当`<jsps:aaaa>`标签遇到数字"12"时,`getBodyContent().getString()`会获取到这个值,然后将其转换为整数并打印到页面上。 ```java package com; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; public class Syste extends BodyTagSupport { public Syste() { System.err.println("ok"); } public int doEndTag() throws JspException { String a = this.getBodyContent().getString(); int ab = Integer.parseInt(a); try { this.pageContext.getOut().print(ab); } catch (IOException e) { e.printStackTrace(); } return EVAL_PAGE; } } ``` 3. JSP页面中的使用: 在JSP页面中,首先通过`<%@taglib>`指令引入自定义标签库,`uri`属性指定标签库的URI,`prefix`属性是用于在页面中引用标签的前缀。例如: ```jsp <%@ taglib uri="aaa" prefix="jsps" %> ``` 然后,可以使用定义的前缀和标签名称在页面中插入自定义标签: ```jsp <jsps:aaaa>12</jsps:aaaa> ``` 4. `web.xml`配置: 在`web.xml`文件中,使用`<jsp-config>`和`<taglib>`元素来声明自定义标签库的位置,这样服务器知道在哪里找到对应的TLD文件: ```xml <jsp-config> <taglib> <taglib-uri>aaa</taglib-uri> <taglib-location>/WEB-INF/aa.tld</taglib-location> </taglib> </jsp-config> ``` 总结来说,Java自定义标签通过TLD文件定义标签行为,通过Java类实现标签逻辑,最后在JSP页面中通过`<%@taglib>`指令引入并使用。在部署应用时,确保`web.xml`配置正确,以便服务器能找到和解析自定义标签库。通过这种方式,开发人员可以创建可重用、模块化的组件,增强JSP页面的功能和灵活性。
- Bryan_Ren2014-04-24很简单的例子,可以参考
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 批量去除图像背景Matlab代码.rar
- 了解 MATLAB 图像处理的基础知识MATLAB代码.rar
- 两种非刚性点集配准算法的 MATLAB 实现.rar
- 拍摄图像并将其保存为视频Matlab代码.rar
- 频域中的图像恢复(维纳滤波器)Matlab代码.rar
- 强调图像中内核形状(例如直线)的过滤器Matlab代码.rar
- 匹配图像特征(第 3 章):学生竞赛团队的计算机视觉训练Matlab代码.rar
- 求解 2D 和 3D 分数矢量亥姆霍兹方程,用于非刚性图像配准Matlab代码.rar
- 求 RGB 图像的平均向量Matlab代码.rar
- 球磁通量计算 (2D) 的高效实现Matlab代码.rar
- 全局到局部坐标变换矩阵Matlab代码.rar
- 曲面的非刚性套准Matlab代码.rar
- 飞秒激光模型 comsol
- springboot项目学生网上选课系统的设计与实现.zip
- springboot项目医疗挂号管理系统.zip
- springboot项目疫情打卡健康评测系统.zip