我正在使用 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,它将变成空指针异常。
有人有解决方法吗?