1

嗨,我的项目在 struts 2 中。我们已经编写了用于客户端验证的通用 js 文件。现在的问题是,要实现内部化,我们必须根据语言更改警报消息。所以我的问题是有什么方法可以访问 js 文件中的资源属性。或任何人建议一些替代方案或示例。

4

4 回答 4

2

您可以使用我创建的messageResource.js库读取 js 文件中的属性文件。

1) 在您的 html 中包含 messageResource.js。

<script src="messageResource.min.js"></script>

2)您可以从js访问属性文件的键值对,如下所示。

// initialize messageResource.js with settings
messageResource.init({
  // path to directory containing message resource files(.properties files),
  // give empty string or discard this configuration if files are in the
  // same directory as that of html file.
  filePath : 'path/messageresource/'
});

// will load the file 'path/messageresource/moduleName_en_US.properties'
// and callbackFunction will be executed when loading is complete.
messageResource.load('moduleName', callbackFunction, 'en_US'); 

// use messageResource.get function to get values from loaded file. 
var value = messageResource.get('key', 'moduleName', 'en_US');
于 2014-08-29T18:06:09.090 回答
2

将警报消息存储在 js 文件中,文件名如下

alert_en.js alert_fr.js alert_jp.js

在每个文件中存储这样的警报

var ALERT_EMAIL_INCORRECT = "Incorrect email";
var ALERT_USERNAME_INCORRECT = "Incorrect username";

根据用户语言包含文件。

或者

您可以使用 JSP 文件和页面中的链接从资源包中加载消息,如下所示。

<script type="text/javascript" src="YOUR-FILE.JSP"></script>

在这个 JSP 文件中,您从资源包中读取后输出 JavaScript。

也检查一下

于 2012-07-13T16:34:02.190 回答
1

您可以编写一个JSON文件,以英语为key,L10N消息为value,并根据用户的浏览器语言配置使用AJAX加载相关的JSON,并通过alert(tanslatedTable[USER_LANG][ENGLISH_STRING])来提醒消息

于 2012-07-13T16:00:32.280 回答
0

我在jsp页面上的脚本标签中的javascript中执行此操作:

<code>
    alert("<s:text name="amountMustBeNumeric"/>");
</code>

对我来说很好。

于 2012-07-13T21:06:27.260 回答