0

我制作了一个复合组件并在我的 taglib 中声明了一个自定义命名空间,如下所示:

[...]
<namespace>http://www.#####.info/components</namespace>
<composite-library-name>composites</composite-library-name>
[...]

现在,当我使用该命名空间时:

xmlns:wb="http://www.#####.info/components"

一切都“运行时”,但 Eclipse 不会像我使用“默认”命名空间时那样显示任何代码帮助:

xmlns:wbcomposites="http://java.sun.com/jsf/composite/composites"

这是正常的 Eclipse 行为还是我做错了什么?

编辑:

例如当我写:

<wb:

然后按 [STRG] + [SPACE] 代码辅助显示没有组件。我认为这种行为会让“用户”认为他做错了什么......

我希望有办法从我这边解决这个问题..

4

1 回答 1

1

问题是我在 taglib 中混合了普通组件和复合材料:

<facelet-taglib 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-facelettaglibrary_2_0.xsd"
    version="2.0">
    <namespace>http://abc/components</namespace>

    <composite-library-name>composites</composite-library-name>

    <tag>
        <tag-name>something</tag-name>
        <component>
[...]

现在我将它们分成标签库和两个命名空间......

这也解决了错误,即普通组件被查找为复合...

于 2012-11-26T19:44:41.937 回答