我的JavaScript文件x.js
中有这样的代码
alert("<spring:message code='plants.selectedPlant.name' javaScriptEscape='true' />");
在文件messages.properties
中,有以下一行:
plants.selectedPlant.name = Roses
但是它只是警告文本<spring:message code='plants.selectedPlant.name' javaScriptEscape='true' />
,而不警告值。
我没有在我的JS文件中导入任何内容。
一个有用的技巧是做这样的事情:
HTML
<span id="selectedPlantName" display="none">
<spring:message code='plants.selectedPlant.name' javaScriptEscape='true' />
</span>
JS(假设您使用jQuery)
alert($("#selectedPlantName").text());
或
看看这个问题的公认答案:
Resolving spring:messages in javascript for i18n internationalization
Pedro提供的答案很好用(我赞成),但我认为这不是最干净的解决方案,因为您定义了带有id,display等的范围,只是为了稍后访问值。想象有20条消息-这将是很多不必要的代码。我会保持简单:
var myText = ""
if(locale === "de") {
myText = "<German Text>"
} else{
myText = "<English text>"
}