Domanda

Ho un tag personalizzato, confezionato in un barattolo di biblioteca che è incluso nel mio file di guerra delle app web.

Ricevo il seguente errore:

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>

Ma non sembra lamentarsi dell'etichetta che si trova nello stesso taglib. Ho confermato che il barattolo è in guerra e che il file del tag è nel barattolo e che il TLD (in meta-inf) definisce espressamente "widgetfactory"

Perché sto ricevendo questo errore?

TLD Snipit:

<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>

...

È stato utile?

Soluzione

Si scopre che avevo omesso di importare un'altra libreria di tag utilizzata dal mio tag, quindi non si sarebbe compilata.

Altri suggerimenti

Assicurati che il nome della classe che hai nel tuo file .tld sia corretto. Forse c'è un errore di battitura nel nome del pacchetto da qualche parte, o forse la classe ha un male package intestazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top