前面说的是继承TagSupport类实现一个自定义标签,这一篇将介绍一个更加简单的方法来实现自定义标签。 只用一步就完成了,---------------------------------写tag文件: 打开你的web项目,然后在WEB-INFO目录下建一个.tag的文件[此文件就是你要自定义什么标签就在此处写]。可以根据需要写多个.tag文件,一下任然与前面一个自定义标签的例子(http://www.360doc.com/showWeb/0/0/251151414.aspx)实现的功能相似,一个自定义的下拉列表(列表中的项来自数据库)=》(其中用到一些jstl标签) ---------------------------dropdownlist.tag---------------------------------------------------- <%@ tag="" pageencoding=""UTF-8"%"><!--%@--> <!--注意:下面的attribute是我们自定义标签的属性(是根据需要定义的),如下所示 给此标签定义了三个属性,即=>[category/selectedValue/displaySelectAll] name:属性的名称 type:属性类型 required:该属性是否为必须的 --> <%@ attribute="" name=""category"" type=""java.lang.String"" required=""true""><!--%@--> <%@ attribute="" name=""selectedValue"" type=""java.lang.String"" required=""false""><!--%@--> <%@ attribute="" name=""displaySelectAll"" type=""java.lang.Boolean"" required=""false""><!--%@--> <%@ taglib="" uri=""http://java.sun.com/jsp/jstl/core"" prefix=""c""><!--%@--> <select name=""${name}""></select> <c:choose></c:choose> <c:when test=""${empty" displayselectall="" or=""></c:when> <select><option value="""">--Please Select--</option></select> <!--保存在application中的Map--> <c:foreach items=""${dataMap[category]}"" var=""op""></c:foreach> <c:choose></c:choose> <c:when test=""${not" empty="" selectedvalue="=op.dictValue}"" and=""></c:when> <select><option value=""${op.dictValue" selected=""selected"">${op.displayName}</option></select> <c:otherwise></c:otherwise> <select><option value=""${op.dictValue">${op.displayName}</option></select> 这样,一个自定义标签就写完了(只需要一个.tag的文件),在jsp中使用的时候,就直接把该tag文件导入到里面就行了,如下,一个Test.jsp, <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!--引用WEB-INF文件夹下的dropdownlist.tag文件,此处不用定位到.tag文件,只需指定它所在的文件夹即可--> <%@ taglib="" prefix=""dict"" tagdir=""/WEB-INF""><!--%@--> <!--!doctype--> <meta http-equiv=""Content-Type"" content=""text/html;" charset="UTF-8""/> <title>Insert title here</title> Hello <!--使用自定义标签--> <dict:dropdownlist name=""xxx"" category=""STATUS"" displayselectall=""true""></dict:dropdownlist> 运行即可看到一个下拉框出来,数据来自数据库表,完成!!!