La etiqueta personalizada 'no se puede resolver a un tipo'
Pregunta
Tengo una etiqueta personalizada, empaquetada en un frasco de biblioteca que se incluye en mi archivo de guerra de las aplicaciones web.
Obtuve el siguiente error:
An error occurred at line: 66 in the jsp file: /WEB-INF/jsp/portlet/portfolio/operations/operationsInfo.jsp
org.apache.jsp.tag.meta.form.WidgetFactory_tag cannot be resolved to a type
63: <c:forEach var="fldCfg" items="${config.page.fields}" >
64: <tr>
65: <td><form:Label fld="${fldCfg}"/></td>
66: <td><form:WidgetFactory fld="${fldCfg}" decodesMap="${decodesMap}" command="${operationsInfoBean}" dateFormat="${preferredDateFormat}"/></td>
67: </tr>
68: </c:forEach>
69: </table>
Pero no parece quejarse de la etiqueta que está en el mismo taglib. Confirmé que el jar está en la guerra y que el archivo de etiqueta está en el jar y que el tld (en meta-in) define expresamente 'widgetFactory'
¿Por qué recibo este error?
Tld Snippit:
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>Form</short-name>
<uri>http://web.foo.com/tags/form</uri>
<description>Tags that encapsulate the Aladdin form elements, both basic and widgets</description>
<tag-file>
<description>Factory to select the correct widget type</description>
<name>WidgetFactory</name>
<path>/META-INF/tags/form/WidgetFactory.tag</path>
</tag-file>
...
Solución
Resulta que había omitido importar otra biblioteca de etiquetas utilizada por mi etiqueta, por lo que no se compilaría.
Otros consejos
Asegúrese de que el nombre de clase que tenga en su archivo .tld sea correcto. Posiblemente hay un error tipográfico en el nombre del paquete en alguna parte, o tal vez la clase tiene una mala package
encabezamiento.