无法为标记“ui:composition”加载标记处理程序类“null”

时间:2013-04-14 16:30:06

标签: eclipse jboss facelets myfaces trinidad

我正在尝试使用MyFaces和Trinidad创建一个JSF应用程序。我已将以下JAR添加到/WEB-INF/lib

  • 公地BeanUtils的-1.7.0.jar
  • 公地集合-3.1.jar
  • 公地消化器-1.6.jar
  • 公地-EL-1.0.jar
  • 共享记录-1.1.1.jar
  • EL-ri.jar
  • JS​​F的小面-1.1.14.jar
  • JS​​TL-1.1.0.jar
  • 特立尼达-API-1.0.13.jar
  • 特立尼达-IMPL-1.0.13.jar
  • MyFaces的-API-1.1.9.jar
  • MyFaces的-IMPL-1.1.9.jar

facelets.tld文件包含在/WEB-INF文件夹中。

我尝试使用JBoss 4.2和JDK 1.5在Eclipse Helios中运行它。服务器启动正常,我可以在日志中看到MyFaces读取了所有faces-config.xml文件,并且它启动时没有任何错误。

但是,当我打开JSPX页面时,它会出现以下异常:

org.apache.jasper.JasperException: Unable to load tag handler class "null" for tag "ui:composition"
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)

这是JSPX页面的标记:

<jsp:root version="2.0" xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jstl/core"
    xmlns:i="http://java.sun.com/jstl/fmt"
    xmlns:tr="http://myfaces.apache.org/trinidad"
    xmlns:trh="http://myfaces.apache.org/trinidad/html"
    xmlns:t="http://myfaces.apache.org/tomahawk">
    <ui:composition>
        <ui:define name="MyPage">
            <tr:form id="MyForm">
                <trh:tableLayout width= "80%">
                    <trh:rowLayout>
                        <trh:cellFormat>
                            <tr:outputText id="output" value="Sucess"></tr:outputText>
                        </trh:cellFormat>
                    </trh:rowLayout>
                </trh:tableLayout>
            </tr:form>
        </ui:define>
    </ui:composition>
</jsp:root>

相同的代码在WAS 6.1中运行良好。我也尝试过Tomcat 6,它给出了完全相同的问题。

这是如何引起的?如何解决?

0 个答案:

没有答案