Переключатель языка JSF и обновление ajax
Этот вопрос является продолжением старшегоРеализация переключателя языка в JSF 2.
Суть вопроса остается в силе, хотя PrimeFaces выпустил несколько новых сборок, и мои знания JSF немного лучше, чем раньше.
Подводя итог, у меня есть одна HTML-страница, полностью ajaxified.
Переключатель языка это:
<h:form id="selectLanguage" >
<p:commandLink action="#{languageSwitcher.setLanguage('it')}" rendered="#{languageSwitcher.language!='it'}" >
<h:graphicImage library ="images" name="it.gif" title="it" />
</p:commandLink>
<p:commandLink action="#{languageSwitcher.setLanguage('en')}" rendered="#{languageSwitcher.language!='en'}" >
<h:graphicImage library ="images" name="en.gif" title="en" />
</p:commandLink>
</h:form>
Я хочу это когдаit
выбран толькоen
флаг и наоборот. И я хочу, чтобы все содержимое веб-страницы обновлялось с помощью переводов Resource Bundle.
В частности, у меня есть некоторыеp:dialog
S, чьи атрибуты заголовка также должны быть обновлены. Диалоговые формы находятся внутри каждого диалога:
<p:dialog header="#{msgs.myHeader}" ... >
<h:form .... />
</p:dialog >
Остальная часть страницы<p:layout>
содержащий некоторые layoutUnits. каждыйlayoutUnit
содержит форму с другими компонентами, которые также должны быть переведены.
LanguageSwitcher являетсяSessionScoped
JSF Managed Bean
.
Я перепробовал все следующие способы:
<f:ajax render="@all" />
внутриp:commandLink
фигурные скобкиupdate="@all"
атрибут внутриp:commandLink
<p:ajax update="@all" />
внутриp:commandLink
фигурные скобкиК сожалению, ни один из них не работает.
Я пробовал с@all
Хотя я могу вставить идентификаторы форм, их не так много. Проблема в том, что заголовки диалогов не обновляются таким образом.
Я использую PrimeFaces 3.4.1 - Мохарра 2.1.13