이 질문은 이전 Language switcher implementation in JSF 2의 후속 조치입니다.JSF 언어 전환기 및 아약스 업데이트
PrimeFaces에서 일부 새로운 빌드가 출시되었지만 JSF 지식이 이전보다 약간 개선되었지만 문제의 내용은 여전히 유효합니다.
요약하면, 나는 완전히 ajaxified 한 xhtml 페이지가 있습니다.
언어 스위처는 이것이다 :
<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
플래그가 표시되는 것을 원하고 viceversa에. 웹 페이지의 모든 내용이 자원 번들 번역으로 업데이트되기를 바랍니다.
특히, 나는 헤더 속성을 업데이트해야하는 일부 p:dialog
S가 있습니다. 대화 형태는 각 대화 안에있는 : 페이지의
<p:dialog header="#{msgs.myHeader}" ... >
<h:form .... />
</p:dialog >
나머지는 일부 layoutUnits를 포함하는 <p:layout>
이다. 각 layoutUnit
에는 번역해야하는 다른 구성 요소가있는 양식이 들어 있습니다.
LanguageSwitcher는 SessionScoped
JSF Managed Bean
입니다.
나는 다음과 같은 방법을 모두 시도하십시오 p:commandLink
중괄호 불행하게도
내부
p:commandLink
괄호 안에
<f:ajax render="@all" />
update="@all"
속성<p:ajax update="@all" />
p:commandLink
내부를, 그들 중 아무도 없습니다 공장.나는 양식의 ID를 삽입 할 수 있지만
@all
으로 시도했지만 너무 많지 않습니다. 문제는 대화 상자 헤더가 이런 식으로 업데이트되지 않는다는 것입니다.내가 PrimeFaces 3.4.1 사용하고 - (3.4.2) 지금까지 인 Mojarra 2.1.13 모든 PrimeFaces 버전의
전체 질문을 읽지는 않았지만 간단한 '
Daniel
어떤 브라우저를 사용하셨습니까? PrimeFaces의'@ all'은 IE에서 검색된 JavaScript를 후 처리하는 것으로 실패합니다 (수정은 3.4.2로 예정되어 있습니다). ''는'
'에서 전혀 작동하지 않으며 대신''를 사용하십시오. –
BalusC
귀중한 의견에 감사드립니다. @ 대니얼 : 실제로 아약스가 필요합니다. – perissf