Struts自定义标签

简介:

 

一、基本概念

1、标签(Tag)

标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的。

2、标签库(Tag library)

由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。

3、标签库描述文件(Tag Library Descriptor)

标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。

4、标签处理类(Tag Handle Class)

标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接

口,通过这个类可以实现自定义JSP标签的具体功能。

二 标签开发

1.简单的标签开发

  1.1 写处理类

    

复制代码
 1  1 package  com.dongjj.tag;
 2   2
 3  3 import  javax.servlet.jsp.JspException;
 4  4 import  javax.servlet.jsp.PageContext;
 5  5 import  javax.servlet.jsp.tagext.Tag;
 6   6
 7  7 public   class  TimeTag  implements  Tag  {
 8 8    protected PageContext pageContext;
 9 9    private Tag parent;
1010
1111    // ----标签开始时调用此方法-------
1212    public int doStartTag() throws JspException {
1313        try {
1414            pageContext.getOut().println("Now:" + new java.util.Date());
1515        }
 catch (Exception e) {
1616            throw new JspException(e.getMessage());
1717        }

1818        return SKIP_BODY;
1919    }

2020
2121    // ----标签结束时调用此方法-------
2222    public int doEndTag() throws JspException {
2323        return EVAL_PAGE;
2424    }

2525
2626    // 实现
2727    public void release() {
2828    }

2929
3030    // 实现
3131    public void setPageContext(PageContext pageContext) {
3232        this.pageContext = pageContext;
3333    }

3434
3535    // 实现
3636    public Tag getParent() {
3737        return parent;
3838    }

3939
4040    // 实现
4141    public void setParent(Tag parent) {
4242        this.parent = parent;
4343    }

4444
4545}
复制代码

1.2 编写tld文件 放在WEB-INF目录下

 

Code

 

   1.3 在在Web应用的web.xml文件中声明标签库引用 web.xml version="2.4"的不用引入也可,能在路径下搜索

 

1 < taglib >
2    < taglib-uri > http://www.cnblogs.com/xd502djj/tags </ taglib-uri >
3    < taglib-location > /WEB-INF/mytags.tld </ taglib-location >
4    </ taglib >
5    < taglib-uri > 对应tld文件中的 < uri > < taglib-location > 指出tld文件的位置

 

1.4 写jsp

 

1 <% @taglib uri="http://www.cnblogs.com/xd502djj/tags" prefix="mt" %>
2
3 < h1  align ="center" >< mt:time /></ h1 >

 

调用 在页面上显示如下

 

Now:Tue Mar 24 16:33:50 CST 2009

 

 

本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/archive/2009/03/24/1420488.html,如需转载请自行联系原作者。


目录
相关文章
|
Java API
JSP自定义标签【上】
JSP自定义标签【上】
48 0
|
XML Java 数据格式
JSP自定义标签(基础)
JSP自定义标签(基础)
58 0
|
Java 数据安全/隐私保护 JavaScript
struts2 常用标签总结
最近在用 Struts2 框架做项目,所以收集了一些 Struts2 的常用标签。
3417 0
|
JavaScript 数据库
|
Java 数据安全/隐私保护 Spring
struts2 标签大全
1): ---- 文本输入框 使用: (2): ----- 文本域输入框 使用: (3): ----- 密码输入框 使用: 前三个基本都是一样的。
1054 0
|
XML Java 数据格式
|
XML Java 数据格式
JSP自定义标签之简单标签入门
在sun官方文档上有下面这样一段话。 官方文档声明 public interface SimpleTag extends JspTag Interface for defining Simple Tag Handlers.
878 0