Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 无法从库org.apache.myfaces.custom中找到或提供资源dataList.xhtml_Jsf_Pagination_Tomahawk - Fatal编程技术网

Jsf 无法从库org.apache.myfaces.custom中找到或提供资源dataList.xhtml

Jsf 无法从库org.apache.myfaces.custom中找到或提供资源dataList.xhtml,jsf,pagination,tomahawk,Jsf,Pagination,Tomahawk,我试图在JSF和Hibernate中实现分页 我的html页面上有这些语句 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:t="http://myfaces.apache.org/tomahawk

我试图在JSF和Hibernate中实现分页

我的html页面上有这些语句

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" 
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core"
xmlns:t="http://myfaces.apache.org/tomahawk">

<t:dataList value="#{med.pages}" var="page">

我已经包括了tomahawk20-1.1.14-bin-jar文件/build/web/web-INF/lib和tomahawk-examples-1.1.14-bin-war文件/build/web/web-INF/src/META-INF

但是,我遇到了这个错误:无法从org.apache.myfaces.custom库中找到或提供资源dataList.xhtml。
我该怎么办?

我认为这是由Mojarra引起的(读取.taglib.xml会感到困惑,即使该文件用于复合组件和普通组件的语法是有效的,在新的2.2规范中有明确说明)使用MyFaces JSF实现来修复它。

我认为这是一个战斧问题。 JSF 2.2规范提到了这一点:

正如facelet标记库模式中所指定的,运行时还必须 支持
复合库名称
元素。运行时必须 将此元素的内容解释为资源的名称 第2.6.1.4节“本地化和 版本化资源”。如果facelet标记库描述符文件 遇到包含此元素的,运行时必须检查 元素,并使其 可用于facelet页面中的XML命名空间声明

规范中也有这一点:

如果要使用命名空间不是 你需要有一个 声明组合库名称的taglib文件。目前你必须 不要在这样的taglib文件中声明任何
标记
元素。所有的标签都在里面 这样的库必须来自同一个资源库

在tomahawk的例子中,复合库名称不指向资源(META-INF/resources下的目录名),因此会出现错误


这里的简单解决方案可能是从tomahawk.taglib.xml文件中删除
复合库名称
元素(当然,如果出于任何其他目的不需要)。不过,我还没有测试过。

不幸的是,没有其他办法。如果Mojarra没有正确实现规范中所说的内容,那么保持库与Mojarra兼容是不可能的:(.谢谢,我将在Myfaces和一些web服务器(apache、weblogic)上试用它)已经包含JSF库。如果您再次尝试包含它们,服务器容器将给出一个错误。需要补充的是,OP报告的消息是Mojarra 2.2.10和Tomahawk20-1.1.4Tomahawk20-1.1.14上对我的警告,该项目似乎是在2012-10-23上构建的,并且此后没有更新(将近4年)。我猜这个问题不会被项目维护人员解决。你(OP)可能会在PrimeFaces中找到一些东西来取代这个功能。