错误:该命名空间没有taglibrary

时间:2012-04-12 07:58:40

标签: jsf-2 facelets netbeans-7

我正在尝试使用Netbeans使用facelets创建Web应用程序。我想使用Icefaces作为我的小部件。我收到以下错误消息 警告:此页面调用以前缀ace声明的XML名称空间http://www.icefaces.org/icefaces/components,但该名称空间不存在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>

我认为taglibrary应该是icefaces-compat.jar,它可以在类路径上使用。顺便说一下,我使用了ace:,但是冰:完全一样的问题。不幸的是,作为一个新用户,我无法上传我的目录结构的快照,但是jar文件位于web / WEB-INF / classes下,这对我来说是合乎逻辑的。

问题是:缺少什么???

谢谢, 伊兰

2 个答案:

答案 0 :(得分:2)

将icefaces jar文件放入:

WEB-INF/lib

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

答案 1 :(得分:0)

icefaces-ace.jar 文件放入:

WEB-INF/lib

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

享受!