어떻게 h : dataTable의 값을 동적으로 변경할 수 있습니까? 나는 SelectOneMenu에서 언어를 선택하면동적으로 h : JSF의 dataTable 값을 변경하십시오.
<h:dataTable value="#{DataProvider.mapValues}" var="o" border="1">
<h:column>
<h:outputText value="#{o.key}"></h:outputText>
</h:column>
<h:column>
<h:outputText value="#{o.value}"></h:outputText>
</h:column>
</h:dataTable>
<h:selectOneMenu>
<f:selectItem itemLabel="Choose Language.."></f:selectItem>
<f:selectItem itemLabel="DE"></f:selectItem>
<f:selectItem itemLabel="CZ"></f:selectItem>
<f:selectItem itemLabel="EN"></f:selectItem>
<f:selectItem itemLabel="FR"></f:selectItem>
<f:selectItem itemLabel="ES"></f:selectItem>
<f:selectItem itemLabel="PT"></f:selectItem>
</h:selectOneMenu>
그래서, 기본적으로, DataTable에 다른 값을 사용해야합니다 (같은 "EN (# {DataProvider.mapValues)") : 나는 (스 니펫) 다음 코드가 . 분명히하기 위해서 : 내가 Combobox에서 값을 선택할 때마다, dataTable은 다른 값으로 다시로드해야합니다.
JavaScript로는 작동하지만 내게 정확히 어떻게해야하는지 모르겠습니다. 도움이 될 것입니다. 감사!
EDIT : JSF1.2를 사용해야하므로 기본 제공 AJAX 기능을 사용할 수 없습니다.
나는 어떤 사업을 추가하는 것이 좋습니다 않을 것 로직에 대한 설명은 [JSF가 getter를 여러 번 호출하는 이유] (http://stackoverflow.com/q/2090033/1065197)를 참조하십시오. 대신지도의 값 (또는 ''을 채우기 위해 사용하는 구조체 OP)을 업데이트 할''에'listener'를 추가하십시오. –
@LuiggiMendoza - 당신 말이 맞아요.'getMapForLanguage'가 완료하는데 약간의 시간이 걸리면이 방법을 추천 할 것입니다. – dratewka
접근 해 주셔서 감사합니다! 불행히도 AJAX에 대한 내장 지원 기능이없는 JSF1.2를 사용해야한다는 점을 잊어 버렸습니다. 다른 생각? – hurley