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>

...

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top