Я борюсь с небольшой проблемой интернационализации в одном из моих приложений. История выглядит следующим образом:Доступ к JSF SelectItem.Label и значение из XHTML без selectOneMenu
У меня есть дата, которая отображает записи и selectOneMenu в порядке , чтобы выбрать столбец dataTable для фильтрации. SelectOne - , поданный с помощью SelectItems, которые заполняются в соответствии с фактической локалью в бэкэнде на время DataRefresh.
Теперь, когда пользователь меняет локаль, содержимое selectOne остается в старой локали до тех пор, пока страница не будет перезаписана. Это вполне логично и ожидаемо.
Конечно, я хочу, чтобы это изменилось.
Поэтому я попытался написать собственный selectOne, который использует selectItems, которые содержат ссылки на записи languageFile, чтобы иметь возможность их изменять без реиндеринг.
Вот что я пытался
<select id="j_id5:filterSelector" name="j_id5:filterSelector" size="1">
<c:forEach var="item" items="#{gridBean.filterFields}">
<option value="#{item.Value}">#{msg[item.Label]}</option>
</c:forEach>
</select>
К сожалению JSF рассказывает мне деталь не имеет этикетки или значение свойства, которое я с трудом верю. ;)
У кого-нибудь есть идея, как получить доступ к этим свойствам таким образом?
thx для ответа, я могу получить доступ к свойствам сейчас. Мой д'оо. Я согласен с тем, что valueChangeListener будет лучшим способом . Я не совсем уверен, как интегрировать его в мое приложение. На самом деле у меня есть LanguageSelectioBean, который отображает два флага , которые меняют локаль при щелчке через commandLinks. -> Может ли командные ссылки запускать событие valueChange? Secondy my datatable - это компонент, который я использую в нескольких местах в своем приложении. Мне нужно расширить его, чтобы он прослушивал для valueChanges и запрашивал языковые файлы onValueChange, правильно? thx K – KB22