复合组件和自定义命名空间的Eclipse代码辅助失败

时间:2012-11-05 19:57:47

标签: eclipse jsf jsf-2 taglib composite-component

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

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

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

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

Everything'可以运行Runtime'但Eclipse不会像我使用'default'命名空间那样显示任何代码辅助:

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

这是正常的Ec​​lipse行为还是我做错了什么?

编辑:

例如,当我写:

<wb:

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

我希望有办法解决这个问题。

1 个答案:

答案 0 :(得分: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>
[...]

现在我将它们分成了taglib和两个命名空间......

这解决了错误,正常组件被查找为复合...