我正在尝试使用MyFaces和Trinidad创建一个JSF应用程序。我已将以下JAR添加到/WEB-INF/lib
:
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,它给出了完全相同的问题。
这是如何引起的?如何解决?