Omniface의 Components #includeCompositeComponent
으로 복합 구성 요소를 동적으로 만들 때 속성 값 (예 : 특성 myValue
)을 전달하여 복합체의 사전 렌더링 이벤트에 사용할 수 있습니까?omnifaces 구성 요소 #includeComponent 구성 특성 값
<composite:interface>
<composite:attribute name="myValue" required="true" />
</composite:interface>
<composite:implementation>
<!-- this works! -->
<h:outputText value="#{cc.attrs.myValue}" />
<!-- this doesn't execute -->
<f:event id="eventId"
type="javax.faces.event.PreRenderComponentEvent"
listener="#{bean.someAction(cc.attrs.myValue)}" />
<!-- stuff -->
</composite:implementation>
는 그러나, 나는 (#{cc.attrs.myValue}
통해) XHTML에 myValue
에 액세스 할 수 있어요,하지만 (나는 myValue
의 값을 지정 UIComponent#getAttributes
을 사용) 사전 렌더링에 대한 사용할 수 없습니다.
편집 : 속성도 @PostConstruct
(관리 속성을 통해)에서 사용할 수 있으면 가능합니다.
'setValueExpression'은 composite 속성을 bean ('bean.myValue')의 값과 바인드합니까? 그럼에도 불구하고 그것을 시도해보십시오. 감사합니다 – nuno
그것은'와 같은 효과를 가지고 있습니다 만,'getAttribute()'접근법은''그것은 단지 '문자열'이라고 가정합니다. –
BalusC
더 자세히 읽은 후에,'setValueExpression'은 다른 bean으로부터 값을 얻는다 고 생각합니다. 내가 맞습니까? – nuno