Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 2 错误:该命名空间不存在标记库_Jsf 2_Facelets_Netbeans 7 - Fatal编程技术网

Jsf 2 错误:该命名空间不存在标记库

Jsf 2 错误:该命名空间不存在标记库,jsf-2,facelets,netbeans-7,Jsf 2,Facelets,Netbeans 7,我正在尝试使用Netbeans使用facelets创建一个web应用程序。我想使用Icefaces作为我的小部件。我收到以下错误消息 警告:此页调用以前缀ace声明的XML命名空间,但该命名空间不存在taglibrary 控件无法显示。我有一个最简单的文件 <?xml version="1.0" encoding="UTF-8"?> <!-- To change this template, choose Tools | Templates and open the templ

我正在尝试使用Netbeans使用facelets创建一个web应用程序。我想使用Icefaces作为我的小部件。我收到以下错误消息 警告:此页调用以前缀ace声明的XML命名空间,但该命名空间不存在taglibrary

控件无法显示。我有一个最简单的文件

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ace="http://www.icefaces.org/icefaces/components"
xmlns:ice="http://www.icesoft.com/icefaces/component"
>
<head>
    <title>Shalom Elias</title>
</head>
<body>
<h:form id="form">
    Shalom
    <ace:dateTimeEntry id="date1" value="#{backing.date1}" renderAsPopup="true"/>
</h:form>
</body>
</html>

沙洛姆·埃利亚斯
沙洛姆
web.xml看起来像

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>welcome.jsf</welcome-file>
</welcome-file-list>

javax.faces.PROJECT_阶段
发展
javax.faces.STATE_保存方法
服务器
javax.faces.FACELETS\u跳过\u注释
真的
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.jsf
30
welcome.jsf

我认为taglibrary应该在icefaces-compat.jar中,它可以在类路径中找到。顺便说一句,我用了ace:,但ice:也有同样的问题。不幸的是,作为一个新用户,我不能上传我的目录结构的快照,但是jar文件位于web/web-INF/classes下,这在我看来是合乎逻辑的

问题是:缺少什么

谢谢,
Ilan将icefaces jar文件放入:

WEB-INF/lib

而不是WEB-INF/classes文件夹。

icefaces ace.jar文件放入:

WEB-INF/lib

而不是
WEB-INF/
classes文件夹


好好享受吧

我不知道如何添加这些注释,但Netbeans决定在WEB-INF/类中添加jar文件。如何告诉它使用lib目录?现在我得到了不同的错误消息:一个或多个资源的目标是'head',但视图中没有定义'head'组件。一个或多个资源的目标为“body”,但视图中未定义任何“body”组件。对于jsf,应使用
h:head
而不是
head
h:body
而不是
body
。这是正确加载Facelet所依赖的资源所必需的。谢谢Matt。终于有了真正的进步!h:确实有帮助。现在,当我终于知道问题出在哪里时,我可以返回并尝试在Netbeans中找到我可以更改的内容,以便将其放置在lib中而不是类中。到目前为止,我还不知道问题的根源在哪里。您是否不小心将jar文件放在项目的源代码树中(java文件所在的位置)?它需要进入这个库文件夹(右键单击库节点-->“添加jar”)不,事实上我不知道Netbeans是如何选择classes文件夹的。我所做的是使用newprojectwizard,在这里我指定我是jsf,在jsf配置中我选择使用icefaces。它发挥了它的魔力,我认为它在做正确的事情。多亏了你的帮助,我发现它做了错事。我的下一个问题是如何告诉它正确的做法,但现在我知道问题是什么了,这是一个容易得多的问题。你能详细说明一下你的答案吗?