5

私はorg.omnifaces.converter.ListConverterプライムフェイスのピックリストで新しいものを使おうとしています。jar ファイルをダウンロードするために、maven を使用してプロジェクトに新しい依存関係を追加し、プロジェクトを再構築しました。

<dependency>
    <groupId>org.omnifaces</groupId>
    <artifactId>omnifaces</artifactId>
    <version>1.5</version>
</dependency>

次のように、facelets に名前空間をインポートしています。

xmlns:o="http://omnifaces.org/ui"

それでも、<o:converter>次のようにピックリストで使用しようとすると:

<o:converter converterId="omnifaces.ListConverter" list="#{projectBean.clientSource}" />

netbeans 7.3 から次のようなメッセージが表示されます。

The attribute list is not defined in the component converter

ただし、ビルドの失敗は発生していないようです...何か不足していますか? 本来のオムニフェイスを使用していませんか?

4

3 に答える 3

4

残念ながら、これは「仕様によるもの」です。

Netbeans は明らかに、ファイルへの登録に基づいてかなり厳密に属性を検証し*.taglib.xmlます。

は、 and of 、and ofなど、任意のコンバーターのすべての<o:converter>属性をサポートすることになっています。ただし、これらのすべての属性をファイルに登録して、 . つまり、標準のコンバーターの代わりにカスタム コンバーターもサポートします。patternlocale<f:convertDateTime>minFractionDigitsintegerOnly<f:convertNumber>*.taglib.xml<o:converter>

ただし、「カスタム」タグ属性を指定することは有効であり、これが<o:converter>依存する場所です。このlist属性は、実際にはomnifaces.ListConverterコンバーターの属性です。私は Netbeans を手元に持っておらず、Netbeans がそれをエラーとして解釈するのか警告として解釈するのか、検証設定のどこかで構成可能かどうかはわかりませんが、これは絶対に無害であり、せいぜい警告を生成します (エラーとしてではありません)。

の使用法を理解していない場合のために説明すると<o:converter>、これは、ビューのビルド時ではなく、ビューのレンダリング時に指定されたコンバーターの属性を評価する特別なタグ ハンドラーです。このようにして、ハードコーディングされた文字列属性の代わりに、Bean プロパティに関連付けられた「動的」属性を提供できます。

于 2014-01-17T07:31:29.277 に答える
1

omn​​ifaces-2.1.jar を解凍することで、netbeans でこの問題を回避しました。

omn​​ifaces-2.1\META-INF\omnifaces-ui-taglib.xml を編集

コンバーターを探す

コンバーターの下に属性を追加します。

<attribute>
        <description>
            <![CDATA[
                Model source list http://showcase.omnifaces.org/converters/ListConverter
            ]]>
        </description>
        <name>list</name>
        <required>false</required>
        <type>java.lang.String</type>
</attribute>

< /tag >の直前。

抽出したコンテンツ (META-INF および org フォルダー) を onmifaces-2.1.jar に圧縮します。

その jar を netbeans で使用します。

于 2015-06-11T15:04:06.200 に答える
-1

初めて依存関係を追加するとき、netbeans は名前空間リストを更新しません。

それで、

  1. 「クリーン&ビルド」を実行
  2. 場合によっては、Netbeans を再起動します

そしてそのすべて

omn​​ifaces 1.7とNetbeans 7.3.1でも同じことが起こりました

于 2014-01-16T01:16:54.413 に答える