如何编写一个简单的 taglib

来源:互联网 发布:尤克里里调音的软件 编辑:程序博客网 时间:2024/05/20 17:23

这是一个显示年月日的taglib,希望对初学者有所帮助。

编写实现类(MyDateTag .java):

package com;

import java.util.*;

import javax.servlet.jsp.*;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport;

/** * @author wpabbs *  * TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板 */public class MyDateTag extends TagSupport {

 public int doEndTag() throws JspException {  // TODO 自动生成方法存根  JspWriter out = pageContext.getOut();  Calendar cal = Calendar.getInstance();  int year = cal.get(Calendar.YEAR);  int month = cal.get(Calendar.MONTH) + 1;  int dates = cal.get(Calendar.DAY_OF_MONTH);  int day = cal.get(Calendar.DAY_OF_WEEK);  day -= 1;  String week = "星期一";

  if (day == 0)    week = "星期日";  else if (day == 1)    week = "星期一";  else if (day == 2)    week = "星期二";  else if (day == 3)    week = "星期三";  else if (day == 4)    week = "星期四";  else if (day == 5)    week = "星期五";  else if (day == 6)    week = "星期六";  

  try {   out.print("今天是" + year + "年" + month + "月" + dates + "日," + week);  } catch (Exception e) {

  }  return super.doEndTag(); }}

=============================================================

编写tld文件(wpabbs.tld):

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.0</tlibversion><jspversion>1.1</jspversion><shortname>wpabbs</shortname><uri>http://jakarta.apache.org/struts/tags-wpabbs</uri>

<tag> <name>MyDate</name> <tagclass>com.MyDateTag</tagclass> <bodycontent>empty</bodycontent> <info>  Display Date </info></tag>

<!--<tag> <name>MyDate</name> <tagclass>com.MyDateTag</tagclass> <bodycontent>empty</bodycontent> <info>  Display Date </info></tag>-->

</taglib>

===========================================================

在web.xml中配置:

部分代码已省略

<taglib>   <taglib-uri>/WEB-INF/wpabbs</taglib-uri>   <taglib-location>/WEB-INF/wpabbs.tld</taglib-location></taglib>

===========================================================

在jsp页面使用:

<%@ page language="java" pageEncoding="UTF-8"%>

<%@ taglib uri="/WEB-INF/struts-bean" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-html" prefix="html" %><%@ taglib uri="/WEB-INF/struts-logic" prefix="logic" %><%@ taglib uri="/WEB-INF/wpabbs" prefix="wpabbs" %>

<wpabbs:MyDate/>

输出结果:

今天是2008年6月22日,星期日