Primefaces outputLabel для составного компонента

У меня проблема с использованиемp:outputLabel при использовании с композитным компонентом. У меня есть составной компонент сp:inputText поле (я удалил ненужные части из компонента):

<cc:interface>
  <cc:editableValueHolder name="myInput" targets="myInput"/>
  <cc:attribute name="required" required="true" type="java.lang.Boolean" default="false"/>
</cc:interface>

<cc:implementation>
  <p:inputText id="myInput" required="#{cc.attrs.required}"/>
</cc:implementation>

Теперь я не буду использовать этот компонент сp:outputLabel:

<p:outputLabel for="myComponent:myInput" value="#{resources['myLabel']}:"/>
<my:myComponent id="myComponent" required="#{myBean.required}"/>

Все работает нормально, требуется проверка, сообщение тоже отображается, но нет* подписать на этикетке, как есть, когда я подключаю ярлык непосредственно кp:inputText составная часть. Если я, с другой стороны, жесткий кодrequired="true" наp:inputText все отлично работает

Я отлаживалorg.primefaces.component.outputlabel.OutputLabelRenderer и обнаружил, что компонент признается какUIInput, ноinput.isRequired() возвращает ложь Дальнейшая отладка обнаружила, чтоrequired атрибут еще не определен в компоненте, поэтому он возвращаетfalse как значение по умолчанию яUIInput:

(Boolean) getStateHelper().eval(PropertyKeys.required, false);

Кроме того, если я просто переедуp:outputLabel внутри композитного компонента все работает нормально. Как EL оценивается позже внутри составного компонента?

Я использую Primefaces 3.5 с Mojarra 2.1.14

Ответы на вопрос(1)

Ваш ответ на вопрос