Pergunta

Eu tenho uma tag personalizada, embalada em um frasco de biblioteca incluído no meu arquivo de guerra de aplicativos da web.

Estou tendo o erro a seguir:

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>

Mas parece não reclamar do rótulo que está no mesmo taglib. Confirmei que o frasco está na guerra e que o arquivo de tag está no frasco e no que o TLD (no meta-inf) define expressamente 'widgetfactory'

Por que estou recebendo esse erro?

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>

...

Foi útil?

Solução

Acontece que eu omiti a importação de outra biblioteca de tags sendo usada pela minha tag, para que não compilasse.

Outras dicas

Verifique se o nome da classe que você tem no seu arquivo .tld está correto. Possivelmente há um erro de digitação no nome do pacote em algum lugar, ou talvez a classe tenha um mau package cabeçalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top