3

我正在開發一個帶有JSF的Web應用程序,所以我使用Java屬性文件(即resources_es_CO.properties)爲應用程序本地化字符串,並且工作正常。i18n在JavaScript中使用.properties文件

Mi的問題是:我怎麼能從我的JavaScript驗證這種文件中調用本地化的字符串,以便警報顯示這些本地化的字符串給用戶?

在此先感謝。

回答

1

我所做的是將信息作爲頁面的一部分發送出去,放入隱藏的<span>標籤中,標籤的屬性名稱爲「id」值。

或者,您可以編寫一個名爲Ajax的動作並動態獲取屬性。

要做一個ajax回調,你必須實現一個服務器端的動作,它可以理解屬性鍵。服務器只會應用本地化(即查找與會話相關的語言環境中的屬性),然後返回字符串。或者,你可以實現一個服務,它會返回一組屬性,可能是基於每個表單的基礎上,或者根據某些屬性名稱約定進行分組(例如,「返回所有以'validation.addressForm'開頭的屬性」 )

最簡單的情況會是這個樣子的jQuery:

$.get('/fetchProperty', { property: 'firstNameMissing' }, function(propValue) { 
    $('#errMsg').text(propValue); 
}, "text/plain"); 

其他框架提供類似的Ajax工具,或者你可以自己做了XMLHttpRequest。

0

您可以通過ajax調用服務器並將警報文本從服務器發送到客戶端並顯示它。或者當你的jsp被渲染時,你可以把消息放到你的頁面上。兩個都沒問題。如果您可以在不更新頁面的情況下更改語言,則可能需要進行ajax調用。如果你不能,將消息放在javascript變量中將更容易

相關問題