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变量中将更容易

相关问题