1

を拡張して、Javaの方法でカスタムタグを作成しようとしていますTagSupport。カスタムタグを使用して、RichFacesとJSFも使用したxhtmlファイルにいくつかのhtmlをレンダリングしたいと思います。

登録したカスタムタグに関して私が見たすべてのチュートリアルは、次の方法でjspページに登録します。

 <% taglib prefix="example" tagdir="/WEB-INF/tag-descriptor.tld" %>

ただし、これはxhtmlドキュメントでは機能しません。xhtmlスニペットに基づくカスタムxhtmlタグを見てきましたが、コードにロジックが本当に必要です。

では、jsfにjspタグlibをどのように登録しますか?これは可能ですか?そうでない場合は、jspの場合と同じように、xhtmlページでjavaをスクリプト化する方法はありますか?

4

1 に答える 1

4

Facelet(.xhtml)の場合、JSPタグライブラリを登録することはできません。

FaceletsはJSPとは完全に異なるテクノロジであり、これら2つは、各テクノロジに固有のアーティファクト(などjavax.servlet.jsp.tagext.TagSupport)に関係する場合は互換性がありません。

ただし、JSFのカスタムJSPタグの背後にあるのはコンポーネントであり、もちろん、これらをJavaforFaceletsで作成できます。つまり、Javaで直接コンポーネントを作成し、これをに*-taglib.xml登録します(JSF 2.2の場合、XMLファイルでのこの登録はもう必要ありません)。

詳細については、 SimpleJavaベースのJSFカスタムコンポーネントを参照してください。

于 2012-11-25T09:24:04.753 に答える