<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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>DemoTags</shortname>
	<uri>http://www.stardeveloper.com</uri>
	<info>Demo Tags Library</info>
	<tag> 
		<name>firsttag</name> 
		<tagclass>com.stardeveloper.tag.test.FirstTag</tagclass>
		<bodycontent>empty</bodycontent>
		<info>Your first JSP Tag</info> 
		<attribute>
			<name>name</name>
			<required>false</required>
		</attribute>
	</tag> 
</taglib>
Tag Library Descriptor
注意:所有的内容都在<taglib> 和</taglib>之间,
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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>
提供了你的tag library 的信息,在所有的tag中几乎一样的;
<tlibversion>1.0</tlibversion>告示当前的tag library 版本;
<jspversion>1.1</jspversion>指明jsp版本;
<shortname>DemoTags</shortname>指明tag library 的名字;
<uri>http://www.stardeveloper.com</uri>:没有多大的用处;
而<info>Demo Tags Library</info>是一个简单的描述
现在我们看看<tag> 和</tag>的内容吧;<tag> 
  <name>firsttag</name> 
  <tagclass>com.stardeveloper.tag.test.FirstTag</tagclass>
  <bodycontent>empty</bodycontent>
  <info>Your first JSP Tag</info> 
  <attribute>
   <name>name</name>
   <required>false</required>
  </attribute>
 </tag>
name是将用于jsp的前缀之前的短名,如firsttag 在<star:firsttag />
tagclass将包含完整的JSP tag class路径
bodycontent应该包含下面的其中之一:tagdependent, JSP and empty
attribute tag 描述每一个属性,在本例中required被设置为false,因此这个tag能被用而不必输入任何植.