我在JSP尝试自定义标签。我按照教程,最后得到了这段代码:
Taglib导入:
UserZipCode
:
"11111"
userBirthAddress
:
"address"
userBirthCity
:
"c"
userBirthCountry
:
"c"
userBirthDay
:
"31"
userBirthMonth
:
"08"
userBirthYear
:
"1992"
userDescription
:
"description"
:
"x"
userLastName
:
"x"
userPassword
:
""
userPasswordConfirm
:
"xxxx"
userPhoneNr
:
"555555555555"
userProfileAgeFrom
:
"["1"]"
userProfileAgeTo
:
"["3"]"
userProfileWage
:
"9.60"
userQuote
:
"c"
userRetypePassword
:
""
userSex
:
"m"
user_id
:
"6"
我在这里实现了我的标签:
<%@taglib prefix="me" uri="/WEB-INF/tlds/myTLD.tld" %>
这就是我的TLD的样子(由NetBeans生成):
<body>
<h1>Testing custom tags</h1>
<me:MiTag titulo="Some title">
A test text
</me:MiTag>
</body>
这是我的标签处理程序类:
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
<tlib-version>1.0</tlib-version>
<short-name>mytld</short-name>
<uri>/WEB-INF/tlds/myTLD</uri>
<tag>
<name>MiTag</name>
<tag-class>MiTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>titulo</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
</taglib>
嗯,这个应该正在运作。但是...:
这里有什么问题?
答案 0 :(得分:1)
我意识到出了什么问题:标签处理程序类不在包中。一旦我将课程放入一个包中(例如,&#34;标签&#34;),并通过
引用它<tag-class>tags.MiTag</tag-class>
......它开始工作了!