xhtmlビューで使用されるカスタムコンポーネントを作成しました。Netbeans8.1とglassfish4.1を使用してJSF 2.1で属性値を取得し、それを(以下のコードでhelloworldのように)印刷します。 UIComponentBaseオーバーライドされたファミリを拡張し、UIComponentELTagをオーバーライドするcomponentTypeメソッドとrendererTypeメソッドを拡張することによって、beginコンポーネントとcustomコンポーネントのタグクラスをエンコードしてカスタムコンポーネントを作成しました。私はtest.taglib.xml用のタグライブラリを定義し、web.xmlに登録しました。JSF2カスタムコンポーネントの問題
以下はビューコードです。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:body>
<h2>JSF Custom Input FacesComponent Example</h2>
<h:form>
<ui:composition
xmlns:custom="http://packt.net/cookbook/components"
xmlns:ui="http://java.sun.com/jsf/facelets">
<custom:testInput helloworld="test component!!"/>
</ui:composition>
</h:form>
</h:body>
</html>
問題がある - それはHTMLのみ値を表示し、カスタムコンポーネントの属性値が表示されていません。
jspビュー(tldファイルを使用)を試したときと同じサンプルが動作します。
私はカスタムコンポーネントタグを直接使用するか、ui:compositionの子として使用してみましたが、運はありませんでした。
私はカスタムコンポーネントにブレークポイントを置き、デバッグしようとしましたが、コントロールはブレークポイントにも行きません。
コントロールがブレークポイントにならないので、私のカスタムコンポーネントがサーブレットに登録されていないということですか?もしそうなら、私が間違っていることを教えてください。
私はJSFの新機能ですので、何か不足している場合は教えてください。
JSF2.2.7でも同じことを試みましたが、同じ問題が発生しています。