第一步:webroot/web-inf下的str.tld文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> 3 <taglib> <!-- 自定义库标签的根 --> 4 <tlibversion>1.2</tlibversion> <!-- 版本号 --> 5 <jspversion>1.1</jspversion> <!-- JSP版本号 --> 6 <shortname>stu</shortname> <!-- prefix="stu"标签名称--> 7 <uri>StudentTags</uri> <!-- uri="StudentTags" 外界导入标签时,认识的名字,很重要。--> 8 9 <tag> 10 <name>selectAll</name> <!-- 标签名称 --> 11 <tagclass>com.bjsxt.sxf.tag.SeclectAllSt</tagclass> <!-- 对应的java类的全路径 --> 12 </tag> 13 14 <!-- 有属性的标签,可以有多个属性 <attribute>并列 --> 15 <tag> 16 <name>selectBySex</name> <!-- 标签名称 --> 17 <tagclass>com.bjsxt.sxf.tag.SeclectStBySex</tagclass> 18 <attribute> <!-- 对应标签的属性。 --> 19 <name>sex</name> 20 <required>true</required> <!-- 是必需写的属性,即没有写属性标签不能被正常使用 --> 21 </attribute> 22 </tag> 23 <!-- 按班级学生id查询出班级集合,存放到属性var指定的变量中,然后利用s标签的迭代标签,将var指定的变量存放的学生集合遍历出来 --> 24 <tag> 25 <name>selectByClassId</name> <!-- 标签名称 --> 26 <tagclass>com.bjsxt.sxf.tag.MyTag</tagclass> <!-- 对应的java类的全路径 --> 27 <body-content>JSP</body-content><!-- 如果不需要标签体则设置empty,反之设定jsp,内部可以运行jsp所有的语法 --> 28 <attribute> 29 <name>classId</name><!--指定属性名 和标签java类一致--> 30 <required>true</required><!--该属性是否是必须,如果非必须没设置则为空。 --> 31 <rtexprvalue>true</rtexprvalue><!-- 该属性能不能动态使用表达式为该属性赋值 true可以 false不可以 使用脚本和EL表达式来获取动态的值 --> 32 </attribute> 33 <attribute> 34 <name>var</name> 35 <required>true</required> 36 <rtexprvalue>false</rtexprvalue> 37 </attribute> 38 <attribute> 39 <name>num</name> 40 <required>false</required> 41 <rtexprvalue>false</rtexprvalue> 42 </attribute> 43 </tag> 44 <!-- 自定义的myif标签 --> 45 <tag> 46 <name>myif</name> 47 <tagclass>com.bjsxt.sxf.tag.MyIfTag</tagclass> 48 <bodycontent>JSP</bodycontent> 49 <attribute> 50 <name>flag</name> 51 <required>true</required> 52 <rtexprvalue>true</rtexprvalue> 53 </attribute> 54 <attribute> 55 <name>condition</name> 56 <required>true</required> 57 <rtexprvalue>true</rtexprvalue> 58 </attribute> 59 </tag> 60 <!-- 自定义的myelseif标签 --> 61 <tag> 62 <name>myelseif</name> 63 <tagclass>com.bjsxt.sxf.tag.MyElseIfTag</tagclass> 64 <bodycontent>JSP</bodycontent> 65 <attribute> 66 <name>flag</name> 67 <required>true</required> 68 <rtexprvalue>true</rtexprvalue> 69 </attribute> 70 <attribute> 71 <name>condition</name> 72 <required>true</required> 73 <rtexprvalue>true</rtexprvalue> 74 </attribute> 75 </tag> 76 <!-- 自定义的myelse标签 --> 77 <tag> 78 <name>myelse</name> 79 <tagclass>com.bjsxt.sxf.tag.MyElseTag</tagclass> 80 <bodycontent>JSP</bodycontent> 81 </tag> 82 <!-- 自定义的分页标签 --> 83 <tag> 84 <name>page</name> 85 <tagclass>com.bjsxt.sxf.tag.PageTag</tagclass> 86 <body-content>empty</body-content><!-- 如果不需要标签体则设置empty,反之设定jsp,内部可以运行jsp所有的语法 --> 87 <attribute> 88 <name>pageNo</name><!--当前页码数--> 89 <required>false</required><!--该属性是否是必须,如果非必须没设置则为空。 --> 90 <rtexprvalue>true</rtexprvalue><!-- 该属性能不能动态使用表达式为该属性赋值 true可以 false不可以 使用脚本和EL表达式来获取动态的值 --> 91 <type>int</type> 92 </attribute> 93 <attribute> 94 <name>pageSize</name><!--当前页码数--> 95 <required>false</required><!--该属性是否是必须,如果非必须没设置则为空。 --> 96 <rtexprvalue>true</rtexprvalue><!-- 该属性能不能动态使用表达式为该属性赋值 true可以 false不可以 使用脚本和EL表达式来获取动态的值 --> 97 <type>int</type> 98 </attribute> 99 <attribute> 100 <name>rowCount</name><!--当前页码数--> 101 <required>false</required><!--该属性是否是必须,如果非必须没设置则为空。 --> 102 <rtexprvalue>true</rtexprvalue><!-- 该属性能不能动态使用表达式为该属性赋值 true可以 false不可以 使用脚本和EL表达式来获取动态的值 --> 103 <type>int</type> 104 </attribute> 105 </tag> 106 107 108 </taglib>