警告:此页面需要使用前缀XXX声明的XML名称空间http://xmlns.jcp.org/jsf/XXX,但该名称空间不存在标记库

AlanObject

我正在使用Netbeans 8.02,它似乎了解它帮助我创建的复合组件。它位于文件夹/ resources / ezcomp(默认的Nebeans使用此文件夹)中,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:cc="http://xmlns.jcp.org/jsf/composite"
  xmlns:p="http://primefaces.org/ui"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:f="http://xmlns.jcp.org/jsf/core">

<!-- INTERFACE -->
<cc:interface>
    <cc:attribute name="pobject"
                  type="test.database.UserItem"
                  required="true" />
</cc:interface>

<!-- IMPLEMENTATION -->
<cc:implementation>
    ...

当我编辑页面以使用该组件时,NetBeans将其存储在其代码完成数据库中,并且它在页面上创建了一个如下所示的xmlns参考。

xmlns:ezcomp="http://xmlns.jcp.org/jsf/composite/ezcomp"

问题是当Mojarra 2.1.6(Glassfish 3)遇到此问题时,它会显示一条消息:

Warning: This page calls for XML namespace 
http://xmlns.jcp.org/jsf/composite/ezcomp declared with 
prefix ezcomp but no taglibrary exists for that namespace.

上次执行此操作时,URL为java.sun.com,所以我想我不在的时候行业还在发展。如果更改URL以使用java.sun.com,它将变成Null指针异常。

有人对如何解决这个问题有想法吗?

BalusC

http://xmlns.jcp.org/jsf/*自JSF 2.2起名称空间是新的。这些警告表明您实际上正在使用JSF 2.0 / 2.1,或者已将项目配置为使用JSF 2.0 / 2.1。

如果您不使用/定位JSF 2.2,则根本不应该使用JSF 2.2引入的名称空间。在JSF 2.0 / 2.1中,XML名称空间http://java.sun.com/jsf/*如下所示。

<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:ui="http://java.sun.com/jsf/facelets"
      xmlns:cc="http://java.sun.com/jsf/composite"
>

如果您确定自己确实在使用JSF 2.2,则需要在项目属性中的某个位置配置目标JSF版本。在Eclipse中,您可以在Project Facets中找到它下图显示了2.0版。然后应将其更改为2.2。

在此处输入图片说明

如果您不能选择JSF 2.2,则IDE本身很可能需要更新。在Eclipse的情况下,WTP 3.5中添加了对JSF 2.2的支持,这是Eclipse 4.4 Luna首先引入的。

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档