Question

J'ai une balise personnalisée, emballée dans un pot de bibliothèque qui est inclus dans mon fichier de guerre d'applications Web.

J'obtiens l'erreur suivante:

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>

Mais il ne semble pas se plaindre de l'étiquette qui est dans le même taglib. J'ai confirmé que le pot est dans la guerre et que le fichier de balise est dans le pot et que le TLD (en méta-infr) définit expressément «widgetfactory»

Pourquoi est-ce que je reçois cette erreur?

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>

...

Était-ce utile?

La solution

Il s'avère que j'avais omis d'importer une autre bibliothèque de balises utilisée par mon balise, donc elle ne se compilerait pas.

Autres conseils

Assurez-vous que le nom de classe que vous avez dans votre fichier .tld est correct. Il y a peut-être une faute de frappe dans le nom du package quelque part, ou peut-être que la classe a un mauvais package entête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top