下面还是开发一个HelloWorld的标签程序,只是这个标签程序直接从TagSupport类继承。
package com.test.ch13;
.....
public class HelloTag extends TagSupport
{
/** 覆盖doStartTag方法*/
public int doStartTag() throws JspTagException{
return EVAL_BODY_INCLUDE;
}
/** 覆盖doEndTag方法*/
public int doEndTag()throws JspTagException{
String dateString = new Date().toString();
try{
pageContext.getOut().write("Hello World helking.<br>现在时间是:"+dateString);
}
catch(IOException ex){
throw new JspTagException("Fatal error:hello tag conld not write to JSP out");
}
return EVAL_PAGE;
}
}
在上面的代码中,由于从TagSupport类继承,只覆盖了两个方法就开发出了标签,说明用这种方式开发标签程序还是比较简单的。
由于可以在一个tld文件中描述多个标签,故可以在前面的mytag.tld文件中添加以下的描述
<tag>
<name>hello</name>
<tag-class>com.test.ch13.HelloTag</tag-class>
<body-content>empty</body-content>
<description>
Simple hello world examples.
Takes no attribute, and simply generates HTML
</description>
</tag>
同时编写一个测试的JSP的主要内容:
<%@ taglib uri="/demotag" prefix="hello"%>
<%@ page contentType="text/html;charset=gb2312" language="java%>
......
<p> 以下是显示Taglib内容:</p>
<p><i><hello:hello/></i></p>
</body>
</html>
你可以参考然后试试。
分享到:
相关推荐
2. **创建自定义标签类**: 首先,我们需要创建一个新的Java类,例如名为`LeftMenuTag`,并让它继承自`TagSupport`。在这个类中,我们将定义菜单项的属性,比如标题(title)、链接(link)等,并在`doStartTag()`...
`TagSupport`类继承自`javax.servlet.jsp.tagext.Tag`接口,实现了与JSP生命周期相关的操作。 ### 3. JSP自定义标签的生命周期 自定义标签的生命周期包括以下阶段: 1. **初始化(Init)**:当JSP容器首次遇到...
一个自定义标签其实是一个Java类,这个类需要继承自`TagSupport`或`BodyTagSupport`。这两个类由JSP容器提供,它们包含处理JSP页面与自定义标签之间交互所需的方法。选择继承哪个基类取决于标签是否需要处理内部内容...
4. 标签处理类(Tag Handle Class):处理类是Java类,通常继承自TagSupport或实现了SimpleTag接口,负责实现自定义标签的功能。 二、自定义JSP标签的格式: 1. 使用自定义标签需要指定标签库的前缀(Prefix),前缀...
- **标签处理类**:实现了自定义标签功能的Java类,通常继承`TagSupport`或实现`SimpleTag`接口。 2. 自定义JSP标签的格式: - **引入标签库**:使用`@taglib`指令,指定前缀和URI,前缀用于识别标签库,URI指向...
- `javax.servlet.jsp.tagext.TagSupport`: 标签库中的自定义标签的基础类,提供了与JSP页面交互的方法。 - `javax.servlet.jsp.HttpJspPage`: 扩展了JspPage接口,添加了对HTTP特性的支持。 4. **如何引入javax....
1. **接口实现**:自定义标签通常需要实现`javax.servlet.jsp.tagext.Tag`接口或继承`javax.servlet.jsp.tagext.TagSupport`类。`TagSupport`是`Tag`接口的一个默认实现,提供了一些基本的功能。例如,在上面的例子...
1. **扩展TagSupport**:处理标签的类需要继承`javax.servlet.jsp.TagSupport`,以获得对`pageContext`等资源的访问权限。 2. **主要属性**:`parent`属性存储父标签的处理类,`pageContext`属性提供对`PageContext`...
4. **标签处理类(Tag Handle Class)**:标签处理类是实现了自定义JSP标签功能的Java类,通常继承自`TagSupport`或实现`SimpleTag`接口。 **二、自定义JSP标签的格式** 1. **标签库指令的前缀**:前缀用于标识...
如果选择继承TagSupport,可以实现doStartTag和doEndTag两个方法实现Tag的功能,如果选择继承BodyTagSupport,可以实现doAfterBody这个方法。 3.过滤器Filter的作用及配置 过滤器是一个对象,可以传输请求或修改...
* 如果选择继承 TagSupport,可以实现 doStartTag 和 doEndTag 两个方法。 * 如果选择继承 BodyTagSupport,可以实现 doAfterBody 方法。 三、过滤器 Filter * 过滤器是一个对象,可以传输请求或修改响应。 * 过滤...
自定义标签通过实现JSP Tag Library(标签库)接口或继承自`javax.servlet.jsp.tagext.TagSupport`类来创建。 ### 二、JSP标签库描述文件(TLD) 在开发自定义标签之前,我们需要定义一个Tag Library Descriptor ...
4. **标签处理类(Tag Handler Class)**:标签处理类是一个Java类,继承自`javax.servlet.jsp.tagext.TagSupport`或者`javax.servlet.jsp.tagext.SimpleTag`等基类,通过实现特定的方法来定义JSP标签的行为。...
自定义标签类是实现自定义功能的核心,它们通常需要继承`javax.servlet.jsp.tagext.SimpleTagSupport`或`TagSupport`基类。`SimpleTagSupport`适用于不关心标签生命周期的简单标签,而`TagSupport`则适用于需要处理...
- **定义标签处理类**:编写Java类,继承`javax.servlet.jsp.tagext.TagSupport`或`javax.servlet.jsp.tagext.SimpleTagSupport`,根据标签是否有体来选择基类。 - **创建TLD文件**:定义标签的属性、行为和对应的...
4. **标签处理类(Tag Handle Class)**:处理类是Java类,继承自`TagSupport`或实现了`SimpleTag`接口,负责实现自定义标签的具体业务逻辑。 **二、自定义JSP标签的格式** - 自定义标签的使用需要两个条件:指定...
JSP自定义标签通过实现Tag接口或继承TagSupport类,结合TLD文件,可以让开发者构建自己的标签库。这种方式增强了JSP的功能,使得视图层的代码更加清晰和模块化。在实际项目中,自定义标签常常被用于重复的UI组件或...
如果选择继承TagSupport,可以实现doStartTag和doEndTag两个方法实现Tag的功能,如果选择继承BodyTagSupport,可以实现doAfterBody这个方法。 3. 过滤器Filter的作用及配置 过滤器是一个对象,可以传输请求或修改...
**定义标签处理类**:创建一个类,继承自`javax.servlet.jsp.tagext.TagSupport`,并实现必要的方法,例如`doStartTag()`和`doEndTag()`。在这个例子中,我们创建了一个名为`MyTag`的类。\n\n```java public class ...