У меня есть библиотека тегов, которая была написана в JSF 2.0 + PrimeFaces 3.4, теперь я пытаюсь обновить JSF 2.2 и PrimeFaces 4.0. Но я понял, что значение атрибутов передается компоненту, оцениваемому в составном компоненте, и это приводит к неправильному идентификатору для рендеринга.
enum.xhtml(составной компонент)
<cc:interface>
           <cc:attribute name="render" default="@this"/>
            .....
</cc:interface>
<cc:implementation>
  <h:selectOneMenu ......../>
  <p:ajax update="#{cc.attrs.render}" process="#{cc.attrs.execute}" />  
</cc:implementation>
использование:
<t:enum id="authenticationSource" value="#{authenticationStrategy}" .....
  render=":#{cc.clientId}:tabView:passwordVisibility"/>
Значение атрибута render, которое :#{cc.clientId}:tabView:passwordVisibility, должно быть
:j_idt1:j_idt3:j_idt5:editorDialog:j_idt39:j_idt40:tabView:passwordVisibility`
Но он оценивается как
:j_idt1:j_idt3:j_idt5:editorDialog:j_idt39:j_idt40:tabView:autheticationSource:tabView:passwordVisibility
Значение атрибута рендеринга оценивается в составном компоненте и вызывает ошибку. Он должен быть оценен там, где он используется, и это было похоже на JSF 2.0. Есть ли какое-либо свойство конфигурации или что-либо, чтобы преодолеть эту ошибку.
Я использую wildfly 8.1.0-Final
