“Liferay.Language.get”javascript调用返回键而不是值

时间:2012-06-08 12:53:23

标签: javascript liferay-6

在我们的portlet中,我们尝试使用Liferay.Language.get("key")访问javascript文件中的语言属性。

Liferay.Language.get("key")返回密钥而不是关联值。

有没有人面临过类似的问题?

我们正在使用Liferay 6.1 EE。并且已经看过LPS-16513

最奇怪的部分是它在我们的本地盒子上运行但在服务器上失败。

除了使用ext?

之外的任何指针

4 个答案:

答案 0 :(得分:1)

根据您提供的信息,我最好的猜测是您要求的密钥没有与之关联的转换 - 对于这些返回密钥是默认行为。

但是,这个问题很老了,你可能已经解决了。 (如果是这样,请告诉我们 - 如果你能记住原因)

答案 1 :(得分:1)

我也无法让它为portlet本身的资源包中指定的有效密钥检索值。它会检索默认Liferay语言包中的键值。一个hack是在你的portlet中添加一个 liferay-hook.xml 并添加如下内容:

<language-properties>Language.properties</language-properties>

当我这样做时,它现在将检索我的自定义/附加键。副作用是您的密钥也将在Liferay中全局使用。

答案 2 :(得分:1)

这不适用于portlet级别的language.pro。

我对6.2 EE也有同样的问题,作为替代方案,我选择了下面的解决方案。

  <script>
  var test = "<liferay-ui:message key='test'/>";
  console.log("This is working :: "+test)
  </script>

感谢, Sagar Vyas

答案 3 :(得分:1)

您还可以使用以下代码段获得所需的值:

var value='<%=LanguageUtil.get(pageContext, "key") %>';