복합 구성 요소가 있습니다.
<cc:interface>
<cc:attribute name="value" required="true">
</cc:interface>
<cc:implementation>
<h:outputText value="#{cc.attrs.value}"/>
<h:commandButton action="#{internalBean.someAction}"/>
</cc:implementation>
그리고 # {internalBean.someAction}에 의해 # {cc.attrs.value}를 변경하고 싶습니다. 즉, 내 복합 컴포넌트의 메소드로 사용자 정의 (외부) Bean의 (문자열) 값을 변경합니다. 어떻게 할 수 있습니까?
감사.
마침내 최고의 솔루션을 찾았습니다. 일반 구성 요소로 즉시 작동합니다. 모든 변경 사항은 외부 빈 속성을 업데이트합니다.
public void setValue(String value) {
this.value = value;
FacesContext facesContext = FacesContext.getCurrentInstance();
ELContext elContext = facesContext.getELContext();
ValueExpression valueExpression = facesContext.getApplication().getExpressionFactory()
.createValueExpression(elContext, "#{cc.attrs.value}", String.class);
valueExpression.setValue(elContext, value);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다