4

我正在尝试通过以下方式在 jsp 模板中输出本地化消息的键:

    <c:set var="logo-tooltip-title">
        <fmt:message key="logo.tooltip.title"/>
    </c:set> 
    <c:out value="${logo-tooltip-title}"/>

在我的 messages.properties 文件中包含以下内容:

logo.tooltip.title=Test

有谁知道我在这里做错了什么?为什么它返回 0 而不是 Test?

我的目标是将该消息输出为以下链接的标题:

    <a class="logo" href="/site/" title="${logo-tooltip-title}">
        <img src="<hst:link path="/img/logo.png"/>" alt="logo" class="headlogo" width="80" height="100" />
    </a>

对执行此操作的最佳方法有任何想法吗?

谢谢!

编辑:

是的,我在 web.xml 中设置了上下文参数:

  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>messages</param-value>
  </context-param>

资源

更新:

这似乎有效:

<fmt:message key="logo.tooltip.title" var="tooltip"/>

<c:out value="${tooltip}"/>
4

2 回答 2

2

我不认为您的问题特定于 HippoCMS。

我尝试了您的语法,但我认为您缺少捆绑声明。如果我将org/ecausarano/Example.properties文件添加到战争资源并且:

<fmt:setBundle basename="org.ecausarano.Example" />

<c:set var="message">
   <fmt:message key="message.message" />
</c:set>

<c:out value="${message}" />

这个对我有用。

于 2012-03-14T15:04:53.683 回答
2

JSTL 尝试对“logo-tooltip-title”进行数学运算,结果为 0。您已经发现将 - 替换为 . 解决了这个问题。

于 2012-05-08T15:47:11.590 回答