2010-08-02 3 views
3

내 JSF2 응용 프로그램은 ResourceBundle을 사용하여 완전히 국제화되었습니다.액세스 ResourceBundle 키에 점이 있습니까?

이제 몇 가지 경고 및 조치를 수행하는 많은 Javascript 코드가 있습니다. 거기에 내 ResourceBundle에 액세스하고 싶습니다. 나는 성공적으로 다음과 같은 간단한 ResourceBundle의 키에 액세스 할 수 있습니다 :

alert("#{bundle.message_email_sent}"); 

불행하게도, 내 번들 키에 대한 내 규칙이 점 를 사용하는 것입니다. 내 키의 구분자로을 입력하십시오 (예 : message.email.sent=E-Mails sent.). 하지만 내가 할 때

alert("#{bundle.message.email.sent}"); 

JSF는 bundle.message에서 반환 한 문자열의 함수처럼 "전자 메일"에 액세스하려고 시도합니다. 전체 "message.email.sent"를 키로 사용하도록 EL-resolver에 지시 할 수 있습니까?

는 또한 또한 오류가 발생

alert("#{bundle[\'message.email.sent\']}"); 

같은 물건을 시도했다. 제안 사항이 있으십니까?

답변

8

'key'가 EL에서 의미가있는 문자를 포함하고 있지만 다른 구문을 사용하는 JS 구문 하이 라이터에 관계없이 작은 따옴표를 이스케이프 할 필요가없는 경우 실제로는 중괄호 표기법을 사용해야합니다. EL은 Java/JSF가 실행될 때 실행되며 JS가 실행되지 않을 때 실행되지 않습니다.

alert("#{bundle['message.email.sent']}"); 
+0

그럼 분명히 ... 왜 테스트하지 않았습니까? 감사! – ifischer

+0

당신을 진심으로 환영합니다. – BalusC

관련 문제