복합 데이터는 해당 데이터를 정의하는 사용자 지정 컨트롤 내에 만 존재합니다. 따라서 내면에 도달하는 것보다 바깥쪽에 도달하는 것이 훨씬 쉽습니다.
범위 변수 외에도 dataContext를 정의 할 수도 있습니다. 이는 변수를 일시적으로 requestScope에 푸시하기 때문에 기술적으로 여전히 범위 변수를 사용하지만 명시 적으로 그렇게하지 않아도되기 때문에 작업하기가 약간 더 쉽습니다. 예를 들어 위의 예에서
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.dataContexts>
<xp:dataContext
var="labelValue"
value="#{someExpression}" />
</xp:this.dataContexts>
<xp:text
value="#{labelValue}" />
<xc:labelContainer
labelValue="#{labelValue}" />
</xp:view>
, 어디서나 컨테이너 내, 방금 # {labelValue}를 참조 할 수 있습니다 나는이 labelValue 데이터 컨텍스트를 첨부했습니다있는 상태, 그리고 반환 어떤 값을 표현 그 dataContext가 리턴되었습니다. 그러면 XPage 내에서 사용할 수있는 단일 변수가 제공되지만 사용자 정의 컨트롤로 전달됩니다.
질문의 선택이 명확하지 않습니다. Bruce, 작업중인 코드의 샘플을 제공해 주시면 문제를 조금 더 잘 이해할 수 있습니다. – pipalia