1

我有一个自定义标签,打包到我的网络应用程序战争文件中包含的库 jar 中。

我收到以下错误:

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>

但它似乎并没有抱怨同一个标签库中的标签。我已经确认 jar 在战争中,并且标签文件在 jar 中,并且 TLD(在 META-INF 中)明确定义了“WidgetFactory”

为什么我会收到此错误?

顶级域名片段:

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

...

4

2 回答 2

1

结果我忽略了导入我的标签正在使用的另一个标签库,所以它不会编译。

于 2010-04-16T20:03:12.423 回答
0

确保您在 .tld 文件中获得的类名是正确的。可能某处的包名称中有错字,或者该类的package标题错误。

于 2010-04-01T15:42:41.483 回答