複合コンポーネントを作成しようとしています。composite:interface
セクションで 4 つの属性を定義しました。ここにコードがあります
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:composite="http://java.sun.com/jsf/composite">
<composite:interface >
<composite:attribute name="id" />
<composite:attribute name="maxlength" />
<composite:attribute name="required"/>
<composite:attribute name="value" />
</composite:interface>
<composite:implementation xmlns:kc="http://java.sun.com/jsf/composite/components/kaysComposite">
<p:inputTextArea id="#{cc.attrs.id}" value="#{cc.attrs.value}" maxlength="#{cc.attrs.maxlength}" required="#{cc.attrs.required}" counterTemplate="{0} / #{cc.attrs.maxlength}" counter="#{cc.attrs.id}_counter"/>
<h:outputText id="#{cc.attrs.id}_counter"/>
</composite:implementation>
</html>
これは私のコンポーネントを使用するページです
<kc:kaysInputTextArea id="gpAdres" value="#{someBean.variable}" maxlength="250" required="true"/>
<p:message for="gpAdres" />
奇妙な部分は必須属性が機能しないことですが、他の部分は正常に機能します。なぜこのように振る舞うかはわかりませんでした。