ah: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>
したがって、基本的に、SelectOneMenu から言語を選択すると、dataTable は異なる値 ("#{DataProvider.mapValues(en)" など) を使用する必要があります。明確にするために、コンボボックスから値を選択するたびに、dataTable を別の値でリロードする必要があります。
これは JavaScript で動作すると思いますが、正確にどのように実行する必要があるかはわかりません。どんな助けでも大歓迎です。ありがとう!
編集: JSF1.2 を使用する必要があるため、組み込みの AJAX 機能を使用できません。