Facelet コンポジション コントロール (= カスタム タグ) の作成に問題があります。
これがコンポーネントのテンプレート (numberinput.jspx) です。custom-taglib.xml で宣言しました。
これまでのところ、インクルージョンは次のコードを使用して機能します:
<ft:numberInput nullablenumber="true" cid="myId"
bind="#{myBean.mySpecialComponent}"
value="#{myBean.license.myProperty }"
label="My Label"/>
それがテンプレートです:
<div id="c_#{cid}"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:ft="http://www.mycomp.com/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core" style="overflow:auto" >
<ui:composition>
<ice:message for="#{cid}"></ice:message>
<ice:outputLabel for="#{cid}">#{label }</ice:outputLabel>
<ice:inputText
id="#{cid}"
value="#{value}"
style="#{style }"
required="false"
disabled="#{disabled }"
binding="#{ bind}"
>
<f:validator validatorId="notnull"/>
<f:converter converterId="nullableNumber"/>
</ice:inputText>
</ui:composition>
</div>
ページにこれらのタグが複数あると、問題が発生します。Facelets が混乱して、これらのセットのみを表示するようです。これは非常に奇妙です。
私のコードに何か問題がありますか、それとも Facelets は見た目と同じようにバグがありますか?
どうもありがとう。
私の現在の経験から、Facelets カスタムタグの使用を思いとどまらせることしかできません (少なくともコンポーネントバインディングが使用されている場合)。
環境情報: ICEFaces 1.8.2 と Tomcat 6 を使用しています