`
冬天秋天
  • 浏览: 46745 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

借助TagSupport 实现自定义标签

阅读更多

首先,得导入jar包  jsp-api-2.2-sources.jar

(如果你的项目中使用了maven可以在pom.xml文件中添加

<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>

 jar文件引用。

)

第二步,定义一个用来实现标签功能的java类,例如:DateConvert.java

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 数据类型转换
 * @author LiDuanqiang
 *
 */
@SuppressWarnings("serial")
public class DateConvert extends TagSupport{
	private String longTime;
	
	@Override
	public int doStartTag() throws JspException {
		long l = 0l;
		if (longTime!=null&&!longTime.equals("")) {
			l = Long.parseLong(longTime);
		}
		Date date = new Date(l);
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String targetTime = format.format(date);
		try {
			super.pageContext.getOut().write(targetTime);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return super.doStartTag();
	}
	
	//setter and getter
	public void setLongTime(String longTime) {
		this.longTime = longTime;
	}
	
}

  第三步,可在WEB-INF目录下定义一个*.tld文件,例如dateConvert.tld:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
                        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
 <tlib-version>1.0</tlib-version>
 <jsp-version>1.2</jsp-version>
 <short-name>ct</short-name>
 <uri>/dateConvert</uri>
 
 <tag>
 	<name>longStr</name>
 	<tag-class>org.up.snapshot.utils.DateConvert</tag-class>
 	<body-content>JSP</body-content>
 	<attribute>
 		<name>longTime</name>
 		<required>true</required>
 		<rtexprvalue>true</rtexprvalue>
 	</attribute>
 </tag>
</taglib>

 第四步,在web.xml文件中引用你的*.tld文件:

<taglib>
		<taglib-uri>/dateConvert</taglib-uri>
		<taglib-location>dateConvert.tld</taglib-location>
	</taglib>
<welcome-file-list>
		<welcome-file>dateConvert.jsp</welcome-file>
	</welcome-file-list>

 第五步,在你的页面引入自定义标签库进行使用,例如:dateConvert.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
<%@ taglib uri="/dateConvert" prefix="ct"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>数据类型转换</title>
</head>
<body>
<ct:longStr longTime="1314842011312"></ct:longStr>
</body>
</html>
 

 以上代码实现的是将长整型的数据通过自定义标签转换成指定日期格式进行输出。当然,大家可以定义功能更加强大的java类来实现你的标签功能。

 

分享到:
评论

相关推荐

    利用TagSupport创建自定义标签实现网页左侧菜单

    利用TagSupport创建自定义标签实现网页左侧菜单

    JSP自定义标签学习笔记

    三、自结束标签(不带标签体,TagSupport) 3 3.1 自结束标签简介 3 3.2 自结束标签开发示例 3 四、标签中的属性 3 4.1 为自定义标签添加属性 3 4.2 标签综合示例 3 4.3 TLD 文件概述 3 五、标签中的标记体 3 5.1 标记...

    struts2自定义标签案例详解

    Struts2中实现自定义标签很简单,主要分为3步: 1.创建taglib文件(.tld),编写标签声明。 2.编写自定义标签类。 3.在页面中使用标签。 下面以一个自定义的分页标签为例,进行说明。 其实,开发自定义标签并不...

    JSP自定义分页标签 extends TagSupport

    JSP自定义分页标签 extends TagSupport 多种分页风格无需额外资源,使用简单易懂:WebRoot/WEB-INF/tms-tags.tld 文件路径

    自定义标签代替Struts标签实现分页

    自定义标签实现分页,分页信息都封装在一个继承自TagSupport的java文件中,自定义一个tld文件,jsp页面通过taglib指令引入tld文件,使用自定义标签。

    由浅到深详细讲解JSP自定义标签

    由浅到深详细讲解JSP自定义标签 一、基本概念 1、标签(Tag) 标签是一种XML元素,通过标签...标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能。

    简单易用的自定义标签分页显示

    import javax.servlet.jsp.tagext.TagSupport; public class PageTag extends TagSupport { private String name="page"; private String action; private int measurement; public void setName(String ...

    jsp java自定义标签 分页 当前位置 循环遍历数据

    jsp和java联合实现了自定义标签的功能,主要技术继承了TagSupport类和编写对应bodytag.tld配置文件 实现了分页功能 当前功能点所在位置 循环遍历数据

    Jsp自定义标签和方法详解

    首先是要有一个标签处理类,标签处理类可以直接实现Tag接口,也可以继承Java中已经实现了的TagSupport这个类,TagSupport也是继承自Tag接口的,它内部已经对Tag接口进行了实现,一般是继承TagSupport类,之后是重写...

    Struts2 自定义下拉框标签Tag(源码)

    自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282

    Java web自定义标签操作数据库.docx

    java web技术搭建继承实现tagsupport类,实现jsp页面与servlet服务器端的数据交互,达到数据库页页面的分页的操作。

    java自定义分页标签

    // 是TagSupport类中定义的一个属性,它是javax.servlet.jsp.PageContext的对象 request = (HttpServletRequest) pageContext.getRequest(); JspWriter out = pageContext.getOut(); StringBuffer sbOut ...

    jsp中自定义Taglib详解

    自定义标签类都必须继承一个父类:javax.servlet.jsp.tagext.SimpleTagSupport,或者TagSupport除此之外,JSP自定义标签类还有如下要求。 如果标签类包含属性,每个属性都有对应的getter和setter方法。 重写doTag()...

    在jsp中使用自定义taglib

    1 什么是Tag 一个tag就是一个普通的java类,它...换句话说,你只需把实现了业务逻辑的类继承TagSupport或者BodyTagSupport,再做一些特别的工作,你的类就是一个Tag。并且它自己负责和jsp页面的交互,不用你多操心。

    javax.servlet.jsp.tagext源码

    TagSupport SimpleTagSupport tagext javax servlet jsp Tag 标签

    jsp 定制标签(Custom Tag)

    (整理的学习笔记) 步骤1、创建一个Tag handler class(标记处理器类) package javax.servlet.jsp.tagext 开发空Body的标签处理器类—–&gt;1)implements Tag 2)extends TagSupport 空Body的标签处理器类需要覆盖方法:...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    12.4、TagSupport类 12.5、定义有标签体的标签库 12.6、开发迭代标签 12.7、BodyTagSupport类 12.8、TagExtraInfo类和VariableInfo类 12.9、使用BodyTagSupport开发迭代输出 12.10、简单标签 12.11、...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    12.4、TagSupport类 12.5、定义有标签体的标签库 12.6、开发迭代标签 12.7、BodyTagSupport类 12.8、TagExtraInfo类和VariableInfo类 12.9、使用BodyTagSupport开发迭代输出 12.10、简单标签 12.11、...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    12.4、TagSupport类 12.5、定义有标签体的标签库 12.6、开发迭代标签 12.7、BodyTagSupport类 12.8、TagExtraInfo类和VariableInfo类 12.9、使用BodyTagSupport开发迭代输出 12.10、简单标签 12.11、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    12.4、TagSupport类 12.5、定义有标签体的标签库 12.6、开发迭代标签 12.7、BodyTagSupport类 12.8、TagExtraInfo类和VariableInfo类 12.9、使用BodyTagSupport开发迭代输出 12.10、简单标签 12.11、...

Global site tag (gtag.js) - Google Analytics