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>
[...]

今、私はそれらをtaglibsと2つの名前空間に分割しました...

これにより、通常のコンポーネントがコンポジットとして検索されるというバグも解決されました...

于 2012-11-26T19:44:41.937 に答える