从javascript访问messages.properties值

问题描述 投票:1回答:2

我的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文件中导入任何内容。

javascript grails gsp
2个回答
2
投票

一个有用的技巧是做这样的事情:

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


0
投票

Pedro提供的答案很好用(我赞成),但我认为这不是最干净的解决方案,因为您定义了带有id,display等的范围,只是为了稍后访问值。想象有20条消息-这将是很多不必要的代码。我会保持简单:

var myText = ""
if(locale === "de") {
  myText = "<German Text>"
} else{
  myText = "<English text>"
}
© www.soinside.com 2019 - 2024. All rights reserved.