カスタムFacelets 2.0タグを作成しようとしていますが、数時間の作業後にUIInputサブクラスがインスタンス化されていないことがわかりました。その後、私のような何かに実際の名前空間を変更:未定義カスタムタグの例外をスローしません
あなたが見<html xmlns:my="http://bad-namespace">
...
<my:foo />
</html>
、今何かのエラーを発生させるべきであるが、既存の名前空間http://bad-namespace
からmy
ポイントは、しかし、調達例外は、<my:foo />
はただ黙ってスキップされていません!
私のタグを動作させることはできません。エラーも表示されません。私は何をすべきか分かりません。カスタムFacelets 2.0タグを開発するのは初めてのことです。私はFacelets 2.0のカスタムタグに関するチュートリアルをグーグルで探そうとしましたが、多くの情報が得られず、主に古いJSF 1.2に焦点を当てています。
私はMyFacesをやっていないので、頭上から信頼できる回答を投稿することはできませんが、Mojarraはプロジェクト段階が開発に設定されているときに警告します。あなたのものもそのように設定されていますか? MyFacesも同様に動作します。 'web.xml'に' javax.faces.PROJECT_STAGE'の ''を 'Development'に設定します。ページの下部にオレンジ色の警告行が表示されるはずです。* "警告:このページでは、プレフィックスmyで宣言されたXML名前空間http:// bad-namespaceが必要ですが、その名前空間にはtaglibraryはありません。 "* –
BalusC
@BalusC:ありがとうございました。幸いなことに、@FacesComponentアノテーションの代わりにfaces-config.xmlのcomponent-typeを宣言することで問題は解決されました。 –