第一步:在web项目下的web-inf的tlds目录下,新建一个配置文件,名字为relation.tld,内容如下:
自定义标签的前缀为relation(由short-name标签决定),属性有saveField(要保存到数据库的字段名),value(要被选中的数据值),disField(作为显示文本的字段,相当select标签的option之间的文本),tableName(下拉框要显示的表的名称),name(相当html标签的name),id(相当html标签的id),cssClass(相当html标签的class),styleClass(相当html标签的style),onChange(相当html标签的onChange),condition(输入条件表达式)。
<?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>relation</short-name>
<uri>http://www.wang.com/relation</uri>
<tag>
<description>下拉框自定义标签</description>
<name>select</name>
<tag-class>com.tag.RelationSelectTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>saveField</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>disField</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>tableName</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>cssClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>styleClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>onChange</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>condition</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
第二步:新建标签处理类,用来接收自定义标签的属性,和返回结果,内容如下: