WAS下使用自定义标签报错JSPG0047E: 找不到 URI /myTag 的标记库

开发环境

JDK1.5 WAS6.1.0.21

struts2,spring2,hibernate3.1

出现问题的前因后果

1)使用基于jsp2的api开发标签库,注意不是基于struts2的框架开发组件。

2)将myTag.tld置于WEB-INF/tlds/目录下

3)在web.xml中配置如下

<jsp-config>
<taglib>
<taglib-uri>myTag</taglib-uri>
<taglib-location>/WEB-INF/tlds/myTag.tld</taglib-location>
</taglib>
</jsp-config>

4)在myTagExample.jsp中如此使用

<%@ taglib uri=”/myTag” prefix=”myTag” %>

<myTag:TextField  name=”property”/>

报错如下

错误消息:
JSPG0047E: 找不到 URI /myTag的标记库

根本原因:
com.ibm.ws.jsp.JspCoreException: JSPG0047E: 找不到 URI /myTag的标记库
at com.ibm.ws.jsp.translator.visitor.tagfiledep.TagFileDependencyVisitor.visitCustomTagStart(TagFileDependencyVisitor.java:76)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:267)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:309)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:139)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:121)
at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:127)
at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:260)
at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:103)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:453)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:421)

解决此问题的办法有两个

1)修改web.xml中的配置如下

<jsp-config>
<taglib>
<taglib-uri>/myTag</taglib-uri>
<taglib-location>/WEB-INF/tlds/myTag.tld</taglib-location>
</taglib>
</jsp-config>

2)将web.xml的jsp-config全部删除,并将myTag.tld文件至于WEB-INF目录下即可。

原创文章,转载请注明: 转载自海波无痕

本文链接地址: WAS下使用自定义标签报错JSPG0047E: 找不到 URI /myTag 的标记库

文章的脚注信息由WordPress的wp-posturl插件自动生成

此条目发表在javaee, websphere分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论链接可以 移除 nofollow.