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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于SpringBoot和MyBatis的教育管理系统.zip
- audio1244261864.m4a
- yolo-world.zip
- (源码)基于SpringBoot框架的远程控制门禁系统.zip
- 精选微信小程序源码:早教幼儿启蒙小程序(含源码+源码导入视频教程&文档教程,亲测可用)
- (源码)基于SpringBoot和Vue的论坛系统.zip
- 运维系列亲测有效:mobaxterm怎么删除已保存的密码
- (源码)基于Bash的Linux环境管理利器-快速启动系统配置文件管理器.zip
- Kylin操作系统在虚拟环境下的安装与配置指南
- (源码)基于STM32F0系列微控制器的时钟配置系统.zip