我制作了一个复合组件,并在我的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"
这是正常的Eclipse行为还是我做错了什么?
编辑:
例如,当我写:
<wb:
然后按[STRG] + [SPACE]代码辅助向我显示没有组件。 我认为这种行为会让“用户”认为他做错了什么......
我希望有办法解决这个问题。
答案 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和两个命名空间......
这解决了错误,正常组件被查找为复合...