我正在開發一個帶有JSF的Web應用程序,所以我使用Java屬性文件(即resources_es_CO.properties)爲應用程序本地化字符串,並且工作正常。i18n在JavaScript中使用.properties文件
Mi的問題是:我怎麼能從我的JavaScript驗證這種文件中調用本地化的字符串,以便警報顯示這些本地化的字符串給用戶?
在此先感謝。
我正在開發一個帶有JSF的Web應用程序,所以我使用Java屬性文件(即resources_es_CO.properties)爲應用程序本地化字符串,並且工作正常。i18n在JavaScript中使用.properties文件
Mi的問題是:我怎麼能從我的JavaScript驗證這種文件中調用本地化的字符串,以便警報顯示這些本地化的字符串給用戶?
在此先感謝。
我所做的是將信息作爲頁面的一部分發送出去,放入隱藏的<span>
標籤中,標籤的屬性名稱爲「id」值。
或者,您可以編寫一個名爲Ajax的動作並動態獲取屬性。
要做一個ajax回調,你必須實現一個服務器端的動作,它可以理解屬性鍵。服務器只會應用本地化(即查找與會話相關的語言環境中的屬性),然後返回字符串。或者,你可以實現一個服務,它會返回一組屬性,可能是基於每個表單的基礎上,或者根據某些屬性名稱約定進行分組(例如,「返回所有以'validation.addressForm'開頭的屬性」 )
最簡單的情況會是這個樣子的jQuery:
$.get('/fetchProperty', { property: 'firstNameMissing' }, function(propValue) {
$('#errMsg').text(propValue);
}, "text/plain");
其他框架提供類似的Ajax工具,或者你可以自己做了XMLHttpRequest。
您可以通過ajax調用服務器並將警報文本從服務器發送到客戶端並顯示它。或者當你的jsp被渲染時,你可以把消息放到你的頁面上。兩個都沒問題。如果您可以在不更新頁面的情況下更改語言,則可能需要進行ajax調用。如果你不能,將消息放在javascript變量中將更容易